1

在实施此方案之前,我没有使用 Wildfly 或 JBOSS 的经验。我有 Wildfly 10 在域模式下运行。2 台主机,每台运行 1 台 Wildfly 服务器,连接到单个数据源。Server1 -Master- Domain Controller Server2 - Slave 数据源在“DEFAULT”配置文件下配置部署在“FULL”配置文件下。

我现在需要在等式中添加负载平衡,但我只想使用 Wildfly。我已阅读以下文章将静态负载平衡器设置为反向代理https://docs.jboss.org/author/display/WFLY10/Using+Wildfly+as+a+Load+Balancer

我有第三台服务器,我想将其配置为负载均衡器。我是否将其配置为域中的“SLAVE”,但将其添加到域控制器上的 LOAD-BALANCER 配置文件中?当我这样做时,它无法找到并连接到主服务器(Server1)!

请有人告诉我我需要在此服务器上进行的基本设置,以便我能够按照上述文章中的步骤并将其配置为反向代理/静态负载平衡器吗?

非常感谢

4

1 回答 1

2

如果您希望将 wildfly 用作具有 modcluster/静态负载平衡配置的负载平衡器,那么您不需要在集群/域中包含服务器(它将充当负载平衡器)。您可以单独调用负载平衡器服务器。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 和一些 web 应用程序(例如 cluster-demo.war)。请注意,Web 应用程序的部署描述符必须在其中包含标签,否则在调用两个工作节点后集群将无法建立。

[2] 第一步成功后,用户可以看到消息 - 在工作节点的控制台日志中收到新的集群视图。

[3] 负载均衡器配置 --

[3.1] DYNAMIC LOAD BALANCER(使用modcluser配置)--------

使用配置调用 wildfly 的第三个实例 -standalone-load-balancer.xml

如果负载均衡器检测到所有工作节点,那么用户将在负载均衡器服务器的控制台日志中看到日志消息 - 注册节点 - 节点名称。

[3.2] 静态负载均衡器配置 -----

cli---

/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, 端口=10080)

/subsystem=undertow/configuration=handler/reverse-proxy=my-handler1/host=host11:add(outbound-socket-binding=remote-host111, scheme=http, instance-id=cluster-demoroute, path=/cluster- demo) /subsystem=undertow/configuration=handler/reverse-proxy=my-handler1/host=host22:add(outbound-socket-binding=remote-host222, scheme=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>
于 2017-11-08T09:25:41.717 回答