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