附录 C. mod_proxy_cluster 连接器模块
mod_proxy_cluster 连接器是基于最初开发的 JBoss mod_cluster 社区项目的技术减少了配置智能负载平衡解决方案。mod_proxy_cluster 连接器使 Apache HTTP 服务器充当高级负载平衡器,用于将流量转发到在 JBoss Web 服务器或 JBoss EAP 主机上运行的后端应用。mod_proxy_cluster 连接器提供 mod_jk 的所有功能,以及实时负载平衡计算、应用生命周期控制、自动代理发现和多个协议支持等功能。
本附录描述了 mod_proxy_cluster 连接器使用的模块。
您可以使用 mod_proxy 的可配置指令(如 ProxyIOBufferSize )配置 mod_proxy_cluster 连接器。
C.1. Mod_manager.so 模块和指令 复制链接链接已复制到粘贴板!
集群管理器模块 mod_manager.so 接收来自节点的信息,包括 worker 节点注册、worker 节点加载数据和 worker 节点应用程序生命周期事件。
LoadModule manager_module modules/mod_manager.so
mod_manager.so的可配置指令
< VirtualHost> 元素中的可配置指令如下:
- EnableMCPMReceive
-
允许
VirtualHost接收 mod_cluster 管理协议(MCMP)消息。在 Apache HTTP 服务器配置中添加一个EnableMCPMReceive指令,以允许mod_proxy_cluster正确运行。EnableMCPMReceive必须添加到配置advertise的位置的VirtualHost配置中。 - MaxMCMPMaxMessSize
-
定义 MCMP 消息的最大大小。默认值从其他
Max指令计算。最小值为1024。 - AllowDisplay
-
在
mod_cluster-manager主页面中切换额外的显示。默认值为off,这会导致在mod_cluster-manager主页上仅显示版本信息。 - AllowCmd
-
使用
mod_cluster-managerURL 切换命令的权限。默认值为on,允许命令。 - ReduceDisplay
-
切换
mod_cluster-manager页面中显示的信息缩减。减少信息允许在页面中显示更多节点。默认值为off,它允许显示所有可用的信息。 - MemManagerFile
-
定义 mod_manager 存储配置详情的文件的位置。mod_manager 还将此位置用于共享内存和锁定文件。这必须是绝对路径名。建议该路径位于本地驱动器中,而不是 NFS 共享。默认值为
/logs/。 - Maxcontext
-
mod_proxy_cluster将使用的最大上下文数。默认值为100。 - Maxnode
-
mod_proxy_cluster将要使用的 worker 节点的最大数量。默认值为20。 - Maxhost
-
mod_proxy_cluster将使用的最大主机数(别名)。这也是负载均衡器的最大数量。默认值为20。 - Maxsessionid
-
存储的活动会话标识符的最大数量。当没有从该会话收到信息五分钟时,会话被视为不活跃。这仅用于演示和调试目的。默认值为
0,它会禁用此逻辑。 - ManagerBalancerName
-
worker 节点不提供负载均衡器名称时使用的负载均衡器名称。默认值为
mycluster。 - PersistSlots
-
在
上设置为 时,节点、别名和上下文将在文件中保留。默认值为off。 - CheckNonce
在
上设置为 时,将检查会话标识符,以确保它们是唯一的且之前尚未发生。默认值为on。注意将此指令设置为
off可能会使服务器易受重播攻击。- SetHandler mod_cluster-manager
定义显示集群中 worker 节点信息的处理程序。这在
Location元素中定义:<Location $LOCATION> SetHandler mod_cluster-manager Require ip 127.0.0.1 </Location>在这种情况下,
$LOCATION也定义为mod_cluster_manager。在浏览器的
Location元素中定义的$LOCATION时,请考虑以下准则:-
传输对应于发送到 worker 节点的 POST 数据。 -
连接对应于请求此状态页面时已处理的请求数。 -
会话对应于活动会话的数量。Maxsessionid为0时,不会出现此字段。
-