Учитывая, что JavaServer Faces по своей природе является с точки зрения состояния на стороне сервера, какие методы рекомендуется для горизонтального масштабирования приложения JSF 2.0?Горизонтальное масштабирование приложения JSF 2.0
Если приложение запускает несколько JSF-серверов, я могу представить следующие сценарии:
- липких сессии: отправить все запросы, соответствующие заданную сессию на тот же сервер.
- Вопрос: Какая технология обычно используется для достижения этого?
- Проблема: сервера может привести к сбою в потерянных сеансов ... и вообще, кажется, как хрупкая архитектура, особенно при запуске свежие (не пытаясь расширить существующее приложение)
- State (Session) Репликация: повторить JSF состояние на всех серверах JSF в кластере
- Вопрос: Какая технология обычно используется для достижения этого?
- Задача: не масштабируется. общая память кластера = общая память на самом маленьком сервере
- Поручить JSF (через конфигурацию) сохранить его состояние на внешнем ресурсе (например, на другом сервере с очень быстрой базой данных в памяти), затем получить доступ к этому ресурсу из Серверы JSF, когда требуется состояние приложения?
- Вопрос: это возможно?
- Поручить JSF (через конфигурацию) быть апатридом?
- Вопрос: это возможно?
[EDIT]
Обновлено в ответ на предложение Рави липких Sessions
Спасибо @ Ravi, я обновил свой вопрос соответственно. Но, на мой взгляд, это скорее решение для групповой помощи, чем архитектурное решение. –
Yup, если узел терпит неудачу, все сеансы на этом узле теряются. – Ravi