在Ubuntu上实现RabbitMQ负载均衡,通常需结合集群搭建与负载均衡器配置,以下是核心步骤:
安装RabbitMQ
在所有节点上执行:
sudo apt update
sudo apt install rabbitmq-server
配置集群节点
node1
)上初始化集群,其他节点通过rabbitmqctl join_cluster rabbit@node1
加入。rabbitmqctl cluster_status
。配置镜像队列(可选但推荐)
通过rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
将队列镜像到所有节点,保障高可用。
安装HAProxy
sudo apt install haproxy
修改配置文件
编辑/etc/haproxy/haproxy.cfg
,添加以下内容:
frontend rabbitmq
bind *:5672
default_backend rabbitmq_cluster
backend rabbitmq_cluster
balance roundrobin # 轮询策略,也可选leastconn等
server node1 <node1_ip>:5672 check
server node2 <node2_ip>:5672 check
server node3 <node3_ip>:5672 check
启动HAProxy
sudo systemctl start haproxy
sudo systemctl enable haproxy
通过客户端连接HAProxy的5672端口发送消息,观察消息是否均匀分发到集群节点。
roundrobin
(轮询)、leastconn
(最少连接)等算法,可根据场景选择。ha-mode:all
)可确保队列数据多节点冗余,避免单点故障。参考来源: