Учитывая, что JavaServer Faces по своей природе сохраняет состояние на стороне сервера, какие методы рекомендуются для горизонтального масштабирования приложения JSF 2.0?
Если приложение запускает несколько серверов JSF, я могу представить себе следующие сценарии:
- Sticky Sessions: отправлять все запросы, соответствующие данному сеансу, на один и тот же сервер.
- Вопрос:какая технология обычно используется для достижения этой цели?
- Проблема: сбой сервера приводит к потере сеансов... и в целом кажется хрупкой архитектурой, особенно при запуске с нуля (без попытки масштабирования существующего приложения)
- Репликация состояния (сеанса): реплицировать состояние JSF на все серверы JSF в кластере
- Вопрос:какая технология обычно используется для достижения этой цели?
- Проблема: не масштабируется. общий объем памяти кластера = общий объем памяти на наименьшем сервере
- Укажите JSF (посредством конфигурации) сохранять свое состояние на внешнем ресурсе (например, на другом сервере, на котором работает очень быстрая база данных в памяти), а затем получить доступ к этому ресурсу с серверов JSF, когда нужно состояние приложения?
- Указать JSF (через конфигурацию) не сохранять состояние?
[EDIT]
Обновлено в ответ на предложение Рави о Sticky Sessions
задан Alex Averbuch 16 April 2012 в 00:30
поделиться