WildFly 9 负载平衡 mod_cluster

WildFly 9 load balancing with mod_cluster

我第一次尝试在 windows 上使用 jboss wildfly 运行 配置负载平衡。我没有使用 jboss 或 apache httpd 的经验。我已经安装了 apache httpd 和 mod_cluster,然后我从 mod_cluster 添加了所需的模块到 appache httpd 然后在 httpd.conf 我添加了这个配置:

<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule slotmem_module modules/mod_slotmem.so
LoadModule manager_module modules/mod_manager.so
LoadModule proxy_cluster_module modules/mod_proxy_cluster.so
LoadModule advertise_module modules/mod_advertise.so
Listen 127.0.0.1:8080

<VirtualHost 127.0.0.1:8080>
<Location /mod_cluster_manager>
      SetHandler mod_cluster-manager
 Order deny,allow
 Deny from all
 Allow from 127.0.0.
</Location>
 KeepAliveTimeout 60
 MaxKeepAliveRequests 0
 ManagerBalancerName mycluster
 ServerAdvertise On
</VirtualHost>

当我在部署中放置一个集群 ejb 应用程序并使用默认独立 ha.xml 值启动服务器时,我可以访问 /mod_cluster_manager 但没有检测到节点 我不知道是否有进一步的配置我找到了一个教程但是它没有很好地解释任何可以帮助的东西谢谢

您缺少一些配置,因此当前 Apache 和 Wildfly 之间没有通信。

首先,将上面虚拟主机的端口更改为 6666(mod_cluster-manager 虚拟主机的通用默认值)或 8080 以外的任何其他端口。您似乎是 运行 Wildfly 和 Apache主机,8080 是 Wildfly 的默认 HTTP 侦听器端口,因此不要更改 Wildfly 的默认值,而是为 Apache 使用其他端口。

那么你有两个选择:

a) 在 Apache 的 mod_cluster 部分启用 MCPM 以获得多播自动配置

<VirtualHost 127.0.0.1:6666>
  ...
  EnableMCPMReceive
</VirtualHost>

b) 不要使用多播,并在 Wildfly 的 standalone.xml

中明确设置代理
<subsystem xmlns="urn:jboss:domain:modcluster:2.0">
   <mod-cluster-config proxies="127.0.0.1:6666" ...>
   ...
   </mod-cluster-config>
</subsystem>