Балансировка нагрузки в JBoss с помощью mod_cluster
Есть общий вопрос о настройке балансировки нагрузки в JBoss (7.1.1.Final). Я пытаюсь настроить кластеризованный экземпляр JBoss с главным и подчиненным узлом, и я использую демонстрационное приложение здесь ( https://docs.jboss.org/author/display/AS72/AS7+Cluster+Howto), чтобы доказать балансировка нагрузки / репликация сеанса. Я в основном проследовал до раздела "Конфигурация кластера".
Я развернул приложение на главном и подчиненном узлах, и, если я напрямую нажму на их отдельные IP-адреса, я получу доступ к приложению. Согласно журналам JBoss и консоли администратора, ведомое устройство успешно подключилось к мастеру. Однако, если я помещаю что-то в сеанс на ведомое устройство, переводю ведомое устройство в автономный режим, мастер не может прочитать элемент, который подчиненное устройство поместило в сеанс.
Здесь мне нужна помощь с общей настройкой. Должен ли я иметь отдельный экземпляр Apache httpd, расположенный перед JBoss для балансировки нагрузки? Я думал, что в JBoss встроена возможность балансировки нагрузки, которая не требует отдельного сервера, или я просто совершенно не прав? Если мне не нужен apache, пожалуйста, не могли бы вы указать мне направление инструкций по настройке балансировки нагрузки JBoss?
Благодарю.
1 ответ
Да, вам нужен Apache или любое другое программное или аппаратное обеспечение, которое позволяет выполнять балансировку нагрузки HTTP-запроса. JBoss Application Server не предоставляет эту функцию.
Для правильной работы репликации сеанса вы должны убедиться, что конфигурация сервера и конфигурация приложения определены правильно. На сервере должен быть включен кеш для репликации сессии (вы можете использовать standalone-ha.xml
или же standalone-full-ha.xml
файл для начальной конфигурации).
Чтобы настроить приложение для репликации HTTP-сеанса, добавьте <distributable/>
элемент к web.xml
,
Вы можете увидеть полный пример в http://blog.akquinet.de/2012/06/21/clustering-in-jboss-as7eap-6/