Я работаю в системе, которая разделяет пользователей по организациям. Каждый пользователь принадлежит организации. Каждая организация хранит свои данные в своей собственной базе данных, которая находится на компьютере сервера базы данных. Сервер БД может управлять базами данных для 1 или более организаций.
Существующая (устаревшая) система предполагает, что существует только одна организация, однако я хочу «масштабировать» приложение, запустив его «экземпляр» (привязанный к одной организации), и запустить несколько экземпляров на сервере (т.е. запустить несколько экземпляров приложения «одна организация» - по одному экземпляру для каждой организации).
Я предоставлю RESTful API для каждого экземпляра, работающего на сервере, чтобы можно было использовать тонкий клиент для доступа к службам, предоставляемым экземпляром, работающим на сервере.
Вот простая схема, которая демонстрирует отношения:
Сервер 1 -> N базы данных (каждая
организация имеет одну базу данных)
организация 1 -> N пользователей
Мой вопрос касается того, как «направить» RESTful-запросы от клиента в соответствующий экземпляр, который обрабатывает запросы от пользователей для этой организации.
Более конкретно, когда я получаю запрос RESTful, он будет от пользователя (который принадлежит организации), как (или действительно, каков наилучший способ) «направить» запрос в соответствующий запущенный экземпляр приложения. на сервере?