第 3 章 使用 JBoss HTTP 连接器(mod_proxy_cluster)进行负载平衡
mod_proxy_cluster 连接器是一个减少配置、智能负载平衡解决方案,它允许 Apache HTTP 服务器连接到后端 JBoss Web 服务器或 JBoss EAP 主机。mod_proxy_cluster 模块基于最初开发的 JBoss mod_cluster 社区项目的技术。
3.1. mod_proxy_cluster 键功能和组件 复制链接链接已复制到粘贴板!
mod_proxy_cluster 模块对 JBoss EAP 和 JBoss Web Server worker 节点的 HTTP 请求进行负载平衡。mod_proxy_cluster 模块使用 Apache HTTP 服务器作为代理服务器。
mod_proxy_cluster的主要功能
与 mod_jk 连接器相比,mod_proxy_cluster 连接器有几个优点:
-
启用
mod_proxy_cluster模块时,mod_proxy_cluster管理协议(MCMP)是 Tomcat 服务器和 Apache HTTP 服务器之间的附加连接。Tomcat 服务器使用 MCMP 来通过一组自定义的 HTTP 方法将服务器端负载图和生命周期事件传输回 Apache HTTP 服务器。 -
使用
mod_proxy_cluster的 Apache HTTP 服务器的动态配置允许具有mod_proxy_cluster侦听器的 Tomcat 服务器加入负载平衡安排,而无需手动配置。 - Tomcat 服务器执行负载计算,而不是依赖 Apache HTTP 服务器。这使得负载平衡指标比其他连接器更准确。
-
mod_proxy_cluster连接器提供精细的应用程序生命周期控制。每个 Tomcat 服务器将 web 应用程序上下文生命周期事件转发到 Apache HTTP 服务器。这些生命周期事件包括通知 Apache HTTP 服务器为特定上下文启动或停止路由请求。这可防止最终用户看到 HTTP 错误,因为资源不可用。 -
您可以使用 Apache JServ 协议(AJP)、Hypertext Transfer Protocol (HTTP)或带
mod_proxy_cluster的 Hypertext Transfer Protocol Secure (HTTPS)传输。
mod_proxy_cluster 组件
在代理服务器中,mod_proxy_cluster 由四个 Apache 模块组成:
| 组件 | Description |
|---|---|
|
| Shared Memory Manager 模块与多个 Apache HTTP 服务器进程共享实时 worker 节点信息。 |
|
| Cluster Manager 模块接收并确认来自 worker 节点的信息,包括节点注册、节点负载数据和节点应用程序生命周期事件。 |
|
| Proxy Balancer 模块处理到集群节点的请求路由。Proxy Balancer 根据集群中的应用程序位置、每个集群节点的当前状态以及 Session ID (如果请求是已建立会话的一部分)来选择适当的目标节点。 |
|
| Proxy Advertisement 模块通过 UDP 多播消息广播代理服务器是否存在。服务器广告消息包含 IP 地址和端口号,代理服务器侦听来自要加入负载平衡集群的 worker 节点的响应。 |