1.haproxy.cfg
global log 127.0.0.1 local0 info # 日志存储到127.0.0.1,以local0输入info级别 maxconn 4096 # 最大连接数,要考虑到ulimit -n的大小限制 daemon nbproc 2 # 进程数 defaults log global mode tcp # 使用tcp4层代理模式 option tcplog option dontlognull retries 3 # 在使用基于cookie定向时,一旦后端某一server宕机时,会将会话重新定向至某一上游服务器,必须使用的选项 option redispatch maxconn 4096 timeout connect 5s timeout client 60s #客户端空闲超时时间 timeout server 15s #服务端超时时间 listen rabbitmq_cluster bind 0.0.0.0:5678 mode tcp balance roundrobin #采用轮询机制,还可以是其他的负载均衡方式 #rabbitmq集群节点配置,inter每隔3秒对MQ集群做健康检查, server rabbit1 192.168.1.181:5672 check inter 3000 rise 2 fall 2 server rabbit2 192.168.1.182:5672 check inter 3000 rise 2 fall 2 #配置haproxy web监控,查看统计信息 listen stats bind 0.0.0.0:8999 #这里得配置内网IP,然后用外网IP访问即可 mode http option httplog stats enable #设置haproxy监控地址为http://39.101.209.123:8999/rabbitmq-stats stats uri / stats refresh 3s listen rabbitmq_admin bind 0.0.0.0:8001 server rabbit1 192.168.1.181:15672 server rabbit2 192.168.1.182:15672
docker run -d -p 8999:8999 - p 5678:5678 -p 8001:8001 --name haproxy -v /haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro haproxy:1.6.15