Как связать разные БД с одним приложением между несколькими пользователями - PullRequest
0 голосов
/ 07 января 2019

Так что у меня есть проблема. В настоящее время мое приложение подключается к одной базе данных и поддерживает многопользовательский режим. Так что для разных ландшафтов мы развертываем разные приложения вместе.

Мне нужно решение, чтобы мое приложение оставалось неизменным (развертывание одной WAR), но могло подключаться к разным БД в разных ландшафтах.

Например, пользователь в Великобритании использует то же приложение, но базовая БД находится в Великобритании, и впоследствии другой пользователь входит в систему из Бангладеш, и он видит данные схемы БД для Бангладеш и т. Д.

В настоящее время мы создаем соединения JDBC в пуле соединений, созданном из Java, и выводим его через приложение. Также мы загружаем статические данные в hashmaps во время запуска сервера. Но то же самое было бы невозможно с несколькими БД, поскольку одна перезаписывает другие статические данные.

Я тут и там царапал, Если кто-нибудь подскажет мне правильное направление, был бы благодарен.

1 Ответ

0 голосов
/ 07 января 2019

Вы должны понимать, что ваше приложение запускается, а география пользователя не является связанными атрибутами. Вам просто нужно переключить / выбрать правильное соединение с БД при выполнении операций CRUD для пользователя определенной географии.

Так что, на мой взгляд, требования к памяти вашего приложения теперь будут больше (чем предыдущие), но остальные настройки будут простыми.

При запуске приложения вам нужно инициализировать пулы подключений к БД для всех баз данных и загрузить статические данные для всех географических регионов, а затем использовать / выбрать подключение и статические данные в соответствии с зарегистрированной географией пользователя.

Может быть несколько способов реализовать эту логику переключения / выбора, и это очень сильно зависит от того, какие платформы и библиотеки вы используете.

...