SaaS / Подходы с несколькими арендаторами для веб-приложений на основе Java (GWT, Spring, Hibernate)

В настоящее время я изучаю возможность преобразования однопользовательского веб-приложения на основе Java, которое использует Spring, GWT, Hibernate, Jackrabbit, Hibernate Search / Lucene (среди прочего), в полноценное приложение в стиле SaaS.

У меня вопрос: реализовал ли кто-нибудь из перечисленных выше 7 вещей в SaaS / мультитенантном приложении с использованием технологий, аналогичных тем, которые я перечислил? Я очень хочу получить как можно больше информации о лучших способах сделать это, прежде чем идти по пути, который я сейчас рассматриваю.

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

Однако у меня есть некоторые опасения по поводу производительности, особенно когда у нас растет довольно много арендаторов.

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

27
задан Sanne 9 March 2017 в 12:25
поделиться