1 什么是haproxy
HAProxy提供高可用性、負(fù)載均衡以及基于TCP和HTTP應(yīng)用的代理,支持虛擬主機(jī),它是免費(fèi)、快速并且可靠的一種解決方案。HAProxy特別適用于那些負(fù)載特大的web站點(diǎn),這些站點(diǎn)通常又需要會(huì)話保持或七層處理。HAProxy運(yùn)行在當(dāng)前的硬件上,完全可以支持?jǐn)?shù)以萬計(jì)的并發(fā)連接。并且它的運(yùn)行模式使得它可以很簡單安全的整合進(jìn)您當(dāng)前的架構(gòu)中, 同時(shí)可以保護(hù)你的web服務(wù)器不被暴露到網(wǎng)絡(luò)上。
2 haproxy的安裝
1.拉取鏡像
docker pull haproxy
2.配置目錄
mkdir /docker/haproxy-master/
touch /docker/haproxy-master/haproxy.cfg
3.配置haproxy.cfg文件
defaults
mode tcp
log global
option tcplog
option dontlognull
option http-server-close
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
frontend mysql
bind 0.0.0.0:13307
mode tcp
log global
default_backend mysql_server
backend mysql_server
balance roundrobin
server mysql1 192.168.228.131:3307 check inter 5s rise 2 fall 3
server mysql2 192.168.228.131:3308 check inter 5s rise 2 fall 3
listen stats
mode http
bind 0.0.0.0:1080
stats enable
stats hide-version
stats uri /haproxyamdin?stats
stats realm Haproxy\ Statistics
stats auth admin:admin
stats admin if TRUE
1080端口為可視化界面
4.構(gòu)建相關(guān)容器
docker run -p 1080:1080 -p 13307:13307 -d --name haproxy-master -v /docker/haproxy-master/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg --privileged=true haproxy
5.負(fù)載均衡測(cè)試(本地連接)
可以看到訪問不同的server_id