24.6.2. 为 mod_cluster 禁用广播
默认情况下,mod cluster
子系统的负载平衡器使用多播 UDP 来公告其对后台工作线程的可用性。您可以使用以下步骤禁用广播并使用代理列表。
以下流程中的管理 CLI 命令假定您在受管域中使用 full-ha
配置文件。如果您使用除 full-ha
以外的配置文件,请在 命令中使用相应的配置集名称。如果您正在运行单机服务器,请完全删除 /profile=full-ha
。
修改 Apache HTTP 服务器配置。
编辑
httpd.conf
Apache HTTP 服务器配置文件。使用EnableMCPMReceive
指令,对侦听 MCPM 请求的虚拟主机进行以下更新:添加 指令,以禁用服务器公告。
将
ServerAdvertise
指令设置为Off
,以禁用服务器公告。ServerAdvertise Off
禁用广播频率。
如果您的配置指定了
AdvertiseFrequency
参数,请使用#
字符进行注释。# AdvertiseFrequency 5
启用接收 MCPM 消息的功能。
确保
EnableMCPMReceive
指令存在,以允许 Web 服务器从工作程序节点接收 MCPM 消息。EnableMCPMReceive
在 JBoss EAP
modcluster
子系统中禁用广播。使用以下管理 CLI 命令禁用广播:
/profile=full-ha/subsystem=modcluster/proxy=default:write-attribute(name=advertise,value=false)
重要务必继续下一步,以提供代理列表。如果代理列表为空,则不会禁用广播。
在 JBoss EAP
modcluster
子系统中提供代理列表。必须提供代理列表,因为如果禁用了广播,mod
cluster
子系统将无法自动发现代理。首先,在适当的套接字绑定组中定义出站套接字绑定。
/socket-binding-group=full-ha-sockets/remote-destination-outbound-socket-binding=proxy1:add(host=10.33.144.3,port=6666) /socket-binding-group=full-ha-sockets/remote-destination-outbound-socket-binding=proxy2:add(host=10.33.144.1,port=6666)
接下来,将代理添加到 mod_cluster 配置中。
/profile=full-ha/subsystem=modcluster/proxy=default:list-add(name=proxies,value=proxy1) /profile=full-ha/subsystem=modcluster/proxy=default:list-add(name=proxies,value=proxy2)
Apache HTTP 服务器平衡器不再将其存在性公告给 worker 节点,并且不再使用 UDP 多播。