Wildfly 10 Добавить балансировщик нагрузки в существующий домен

У меня не было опыта работы с Wildfly или JBOSS до реализации этого сценария. У меня Wildfly 10 работает в режиме домена. 2 хоста, на каждом из которых работает 1 сервер wildfly, подключенный к одному источнику данных. Server1 - Master- Контроллер домена Server2 - Slave Источник данных настроен в соответствии с профилем «DEFAULT». Развертывание находится в соответствии с профилем «FULL».

Теперь мне нужно добавить в уравнение балансировку нагрузки, но я хочу использовать только Wildfly. Я прочитал следующую статью, чтобы настроить балансировщик статической нагрузки в качестве обратного прокси-сервера https://docs.jboss.org/author/display/WFLY10/Using+Wildfly+as+a+Load+Balancer

У меня есть третий сервер, который я хочу настроить как балансировщик нагрузки. Должен ли я настроить его как «SLAVE» в домене, но добавить его в профиль LOAD-BALANCER на контроллере домена? Когда я это делаю, он не может найти и подключиться к Мастеру (Server1)!

Пожалуйста, может ли кто-нибудь сказать мне базовую настройку, которую мне нужно иметь на этом сервере, чтобы я мог выполнить шаги, описанные в статье выше, и настроить его как обратный прокси-сервер/статический балансировщик нагрузки?

Огромное спасибо


person Mark Brunette    schedule 20.07.2017    source источник


Ответы (1)


Если вы хотите использовать wildfly в качестве балансировщика нагрузки с конфигурацией балансировки нагрузки modcluster/static, вам не нужно включать сервер (который будет действовать как балансировщик нагрузки) в кластер/домен. Вы можете отдельно вызвать сервер балансировщика нагрузки. В дистрибутиве Wildfly10 уже есть один файл примера — standalone-load-balancer.xml (внутри — \docs\examples\configs), который можно использовать напрямую.

Этот файл имеет минимальную конфигурацию, необходимую для использования wildfly 10.1 в качестве балансировщика нагрузки.

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

Также обратите внимание, что все рабочие узлы должны иметь разные имена узлов, в противном случае, если некоторые узлы находятся на одном компьютере и если они не вызываются с разными именами узлов, они могут быть отклонены сервером балансировки нагрузки.

Ниже приведена команда для вызова сервера wildfly с определенным именем узла ---

standalone.bat -Djboss.node.name=<specify the node name here>

Базовая настройка будет такой, как показано ниже:

[1] Запустите два отдельных узла (экземпляр wildfly) с конфигурацией — standalone-ha.xml/standalone-full-ha.xml с каким-либо веб-приложением (например, cluster-demo.war). Обратите внимание, что дескриптор развертывания веб-приложения должен иметь тег внутри себя, иначе кластер не будет настроен после вызова двух рабочих узлов.

[2] После успешного выполнения 1-го шага пользователь может увидеть сообщение «Получено новое представление кластера» в консольном журнале рабочих узлов.

[3] КОНФИГУРАЦИЯ БАЛАНСИРОВЩИКА НАГРУЗКИ --

[3.1] БАЛАНСИРОВЩИК ДИНАМИЧЕСКОЙ НАГРУЗКИ (с использованием конфигурации modcluser) ---------

Запустите третий экземпляр wildfly с конфигурацией — standalone-load-balancer.xml.

Если балансировщик нагрузки обнаружит все рабочие узлы, пользователь увидит сообщение журнала — регистрация узла — имя_узла в журнале консоли сервера балансировщика нагрузки.

[3.2] КОНФИГУРАЦИЯ СТАТИЧЕСКОГО БАЛАНСИРОВЩИКА НАГРУЗКИ -----

кли---

/subsystem=undertow/configuration=handler/reverse-proxy=my-handler1:add()

/socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=remote-host111/:add(host=localhost, port=9080) /socket-binding-group=standard-sockets/remote-destination -outbound-socket-binding=remote-host222/:add(host=localhost, port=10080)

/subsystem=undertow/configuration=handler/reverse-proxy=my-handler1/host=host11:add(outbound-socket-binding=remote-host111, схема=http, instance-id=cluster-demoroute, path=/cluster- демо) /subsystem=undertow/configuration=handler/reverse-proxy=my-handler1/host=host22:add(outbound-socket-binding=remote-host222, схема=http, instance-id=cluster-demoroute, path=/ кластер-демо)

/subsystem=undertow/server=default-server/host=default-host/location=/cluster-demo:add(handler=my-handler1)

замена конфигурации-------------

[A] Добавьте ниже тег обратного прокси внутри тега subsystem-undertow/handlers--

<reverse-proxy name="my-handler1">
                    <host name="host11" outbound-socket-binding="remote-host111" path="/cluster-demo" instance-id="cluster-demoroute"/>
                    <host name="host22" outbound-socket-binding="remote-host222" path="/cluster-demo" instance-id="cluster-demoroute"/>
                </reverse-proxy>

[B] Добавить тег местоположения внутри подсистемы - undertow/server=default-server/default-host

<location name="/cluster-demo" handler="my-handler1"/>

[C] Добавить ниже внутри тега socket-binding-group

<outbound-socket-binding name="remote-host111">
            <remote-destination host="localhost" port="9080"/>
        </outbound-socket-binding>
        <outbound-socket-binding name="remote-host222">
            <remote-destination host="localhost" port="10080"/>
        </outbound-socket-binding>
person malviyarahuljayendra    schedule 08.11.2017