目录
Ubuntu
安装HAProxy
#更新新软件包sudo apt-get update#查找haproxysudo apt list|grep haproxy#安装haproxysudo apt-get install haproxy
验证安装
#查看服务状态
sudo systemctl status haproxy
#查看版本
haproxy -v
#如果要设置HAProxy服务开机⾃启,可以使⽤:
sudo systemctl enable haproxy
修改haproxy.cfg
vim /etc/haproxy/haproxy.cfg
追加以下内容:
# haproxy web 管理界⾯listen statsbind *:8100mode httpstats enablestats realm Haproxy\ Statisticsstats uri /stats auth admin:admin# 配置负载均衡listen rabbitmqbind *:5670mode tcpbalance roundrobinserver rabbitmq1 127.0.0.1:5672 check inter 5000 rise 2 fall 3server rabbitmq2 127.0.0.1:5673 check inter 5000 rise 2 fall 3server rabbitmq3 127.0.0.1:5674 check inter 5000 rise 2 fall 3
在HAProxy的配置⽂件中, listen stats 是⽤来设置⼀个监听器的指令,这个监听器专⻔⽤于
HAProxy的统计信息⻚⾯。这个⻚⾯提供了关于HAProxy运⾏状况的实时数据,包括当前的连接数、活动会话、以及流量等信息。
配置说明:
# haproxy web 管理界⾯
listen stats #设置⼀个监听器, 统计HAProxy的统计信息
bind *:8100 #指定了监听器绑定到的IP地址和端⼝
mode http #监听器的⼯作模式为HTTP
stats enable #启⽤统计⻚⾯
stats realm Haproxy\ Statistics
stats uri /
stats auth admin:admin #haproxy登录账号和密码
# 配置负载均衡
listen rabbitmq #设置监听器
bind *:5670 #监听器绑定到的IP地址和端⼝, 也就是集群前端IP, 供producer和consumer
来进⾏选择,由于5672端⼝已经默认使⽤, 这⾥选择5670端⼝
mode tcp #由于RabbitMQ使⽤AMQP协议,它是⼀个基于TCP的协议,所以这⾥使⽤TCP模式
balance roundrobin #指定负载均衡策略为轮询
#负载均衡中的集群节点配置,这⾥选择的rabbit节点
server rabbitmq1 127.0.0.1:5672 check inter 5000 rise 2 fall 3
server rabbitmq2 127.0.0.1:5673 check inter 5000 rise 2 fall 3
server rabbitmq3 127.0.0.1:5674 check inter 5000 rise 2 fall 3
server rabbitmq1 127.0.0.1:5672 check inter 5000 rise 2 fall 3 : 定义后端RabbitMQ服务器的配置.
• server rabbitmq1 : 定义RabbitMQ服务的内部标识, 这⾥的rabbitmq1 是指haproxy内部使
⽤的, 不是指RabbitMQ的节点名称。
• 127.0.0.1:5672 : RabbitMQ真实的IP和端⼝
• check inter 5000 : 定义每隔多少毫秒检查RabbitMQ服务是否可⽤.
• rise 2 : 定义RabbitMQ服务在发⽣故障之后,需要多少次健康检查才能被再次确认可⽤.
• fall 3 : 定义需要经历多少次失败的健康检查之后,HAProxy才会停⽌使⽤此RabbitMQ服务。
启动HAProxy
sudo systemctl restart haproxy
Centos
下载并安装HAProxy
yum -y install haproxy
修改haproxy.cfg
listen rabbitmq_local_cluster 0.0.0.0:5670
mode tcp
balance roundrobin
server rabbit1 47.98.109.138:5672 check inter 5000 rise 2 fall 3
server rabbit2 47.98.109.138:5673 check inter 5000 rise 2 fall 3
server rabbit3 47.98.109.138:5674 check inter 5000 rise 2 fall 3
listen private_monitoring :8100
mode http
option httplog
stats enable
stats uri /stats
stats refresh 5s
配置说明:
listen rabbitmq_local_cluster 0.0.0.0:5670 #集群前端IP,供producter和consumer来进
⾏选择,由于5672端⼝已经默认使⽤,这⾥选择5670端⼝
mode tcp #负载均衡选项
balance roundrobin #轮询算法将负载发给后台服务器
server rabbit1 47.98.109.138:5672 check inter 5000 rise 2 fall 3 #负载均衡中
的集群节点配置,这⾥选择的rabbit节点
server rabbit2 47.98.109.138:5673 check inter 5000 rise 2 fall 3
server rabbit3 47.98.109.138:5674 check inter 5000 rise 2 fall 3
listen private_monitoring :8100
mode http
option httplog
stats enable
stats uri /stats #haproxy 前端⻚⾯
stats refresh 60s # 60s刷新⼀次⻚⾯
启动HAProxy
systemctl start haproxy
通过访问“Statistics Report for HAProxy” 来验证haproxy是否能正常访问。