-------------------------------------
RabbitMQ 集群的软负载均衡 -- HAProxy
-------------------------------------
HAProxy 提供高可用性,负载均衡以及基于 TCP 和 HTTP 应用的代理,免费快速可靠的一种解决方案,根据官方数据,最高支持 10G 并发
1.安装
yum install haproxy
2.配置
vim /etc/haproxy/haproxy.cfg
//# 绑定配置
listen rabbitmq_cluster
bind 0.0.0.0:5670
mode tcp
balance roundrobin
server rmq_node1 192.168.1.1:5672 check inter 5000 rise 2 fall 3 weight 1
server rmq_node2 192.168.1.2:5672 check inter 5000 rise 2 fall 3 weight 1
server rmq_node3 192.168.1.3:5672 check inter 5000 rise 2 fall 3 weight 1
//# haproxy监控页面地址
listen monitor
bind 0.0.0.0:8100
mode http
option httplog
stats enable
stats uri /stats
stats refresh 5s
绑定配置参数说明
bind 这里定义了客户端连接 IP 地址和端口号,用于客户端连接
balance roundrobin 表示加权轮询负载均衡算法
RabbitMQ 集群节点配置说明
server rmq_node1 定义 HAProxy 内 RabbitMQ 服务的标识
197.168.24.206:5672 标识了后端 RabbitMQ 的服务地址
check inter 5000 表示每隔多少毫秒检查 RabbitMQ 服务是否可用,示例参数值为 5s
rise 2 表示 RabbitMQ 服务在发生故障之后,需要多少次健康检查才能被再次确认可用,示例参数值为 2
fall 3 表示需要经历多少次失败的健康检查之后,HAProxy 才会认为此 RabbitMQ 服务不可用,示例参数值为 3
weight 1 表示权重比例,值越低,会优先进行数据分配,示例参数值为 1
启动 HAProxy
/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg
登录 http://ip:8100/statsweb 管理界面,即可进行监控查看
-------------------------------------