19.3.4. httpd 上的 mod_cluster 配置
mod_cluster 是一个基于 HTTPD 的负载平衡器。它使用一个通讯频道从 HTTPD 转发请求到应用服务器节点。您可以通过下面的 Derivative 配置 HTTPD 上的 mod_cluster。
注意
表 19.2. mod_cluster Derivatives
| Derivative | 描述 | 值 |
|---|---|---|
| CreateBalancers | 定义如何在 HTTPD 虚拟主机里创建负载平衡器。它允许这样的 directive: ProxyPass /balancer://mycluster1/。 |
0: 创建 httpd 里定义的所有虚拟主机
1:不创建负载平衡器(定义平衡器名称要求至少一个 ProxyPass 或 ProxyMatch)
2: 只创建主服务器
默认值:2
使用这个值时,请不要忘记配置 ProxyPass directive 里的平衡器,因为默认值是一个空的 Sticky Session,
nofailover=Off 和通过 MCMP CONFIG 消息接收的值都会被忽略。
|
| UseAlias | 检查别名是否对应服务器名。 |
0: 忽略别名
1: 检查别名
默认值:0
|
| LBstatusRecalTime | 重新计算节点状态的负载平衡逻辑的时间间隔(秒)。 |
默认值:5 秒钟
|
| WaitForRemove | 在已删除的节点被 HTTPD 忘记前的时间(秒)。 |
默认值:10 秒
|
| ProxyPassMatch/ProxyPass |
ProxyPassMatch 和 ProxyPass 是 mod_proxy directive,当使用
!(而非 back-end url)时阻止路径里的 reverse-proxy。它用于允许 HTTPD 服务于静态信息,如图像。例如:
ProxyPassMatch ^(/.*\.gif)$ !
上面的例子允许 HTTPD 直接保存 .gif 文件。
|
<subsystem xmlns="urn:jboss:domain:modcluster:1.2">
<mod-cluster-config advertise-socket="modcluster" connector="ajp">
- <dynamic-load-provider>
- <load-metric type="busyness"/>
- </dynamic-load-provider>
+ <simple-load-provider factor="0"/>
</mod-cluster-config>
</subsystem>
- 节点 A,负载:10
- 节点 B,负载:10
- 节点 C,负载:0
除非特别说明,在所有情况下,mod_manger directive 的上下文都是 VirtualHost。server config 上下文暗示 directive 必须位于 VirtualHost 配置的外面。如果没有,则会显示错误信息且不会启动 HTTPD。
表 19.3. mod_manager Derivatives
| Derivative | 描述 | 值 |
|---|---|---|
| EnableMCPMReceive | 允许 VirtualHost 从节点接收 MCPM。HTTPD 配置文件里包含的 EnableMCPMReceive 可以允许 mod_cluster 运行。配置 Advertise 时请将它保存在 VirtualHost 里。 | |
| MemManagerFile |
mod_manager 用来保存配置、为共享内存生成密钥或锁定文件的基础名称。它必须是一个绝对路径名;如果需要可以创建 directive。我们推荐将这些文件置于本地驱动而非 NFS 共享目录里。
Context: server config
| $server_root/logs/
|
| Maxcontext | mod_cluster 支持的上下文的最大数量
Context: server config
|
默认值:100
|
| Maxnode | mod_cluster 支持的节点的最大数量
Context: server config
|
默认值:20
|
| Maxhost | mod_cluster 支持的主机(别名)的最大数量。它也包含平衡器的最大数目。
Context: server config
| 10 |
| Maxsessionid |
保存的活动 sessionid 的数量,它提供 mod_cluster-manager 处理程序里活动会话的数量。当 mod_cluster 在 5 分钟内没有从会话里接收信息时,会话将变成不活动的。
Context: server config
这个字段只适用于演示和调试目的。
| 0:逻辑没被激活。 |
| MaxMCMPMaxMessSize | 来自其他 Max Directive 的 MCMP 消息的最大尺寸 | 从其他 Max Directive 进行计算。最小值:1024 |
| ManagerBalancerName | 当 JBoss AS/JBossWeb/Tomcat 没有提供平衡器名称时使用的平衡器名称。 | mycluster
|
| PersistSlots | 告诉 mod_slotmem 将节点、别名和上下文保存到文件里。
Context: server config
| Off |
| CheckNonce | 当使用 mod_cluster-manager 处理程序时切换 Nonce 检查 |
on/off
默认:on - Nonce 检查
|
| AllowDisplay | 在 mod_cluster-manager 主页面上切换其他显示信息。 |
on/off
默认:off - 只显示版本号
|
| AllowCmd | 允许使用 mod_cluster-manager URL 的命令。 |
on/off
默认:on - 允许的命令
|
| ReduceDisplay | 减少显示在主 mod_cluster-manager 页面上的信息,所以在这个页面上可以显示更多的节点。 |
on/off
默认:off - 显示全部信息
|
| SetHandler mod_cluster-manager |
显示 mod_cluster 从群集里看到的节点的信息。这些信息包括普通信息活动会话的数量。
<Location /mod_cluster-manager> SetHandler mod_cluster-manager Order deny,allow Allow from 127.0.0.1 </Location> |
on/off
默认值:off
|
注意

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.