- docker 安装haproxy
docker pull haproxy
创建配置文件到:D:/docker/haproxy
配置文件内容如下
# 配置文件
# 全局配置
global # 设置日志文件输出定向
log 127.0.0.1 local3 info # 守护进程启动,运维方式为后台工作
daemon # 最大连接数
maxconn defaults
mode tcp #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
#retries #两次连接失败就认为是服务器不可用,也可以通过后面设置
option redispatch #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器
option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接
timeout connect 20000ms #连接超时
timeout client 30000ms #客户端超时
timeout server 30000ms #服务器超时
#timeout check #=心跳检测超时
log 127.0.0.1 local0 err #[err warning info debug]
balance roundrobin #负载均衡算法
#option httplog#日志类别,采用httplog
#option httpclose #每次请求完毕后主动关闭http通道,ha-proxy不支持keep-alive,只能模拟这种模式的实现
#option dontlognull
#option forwardfor #如果后端服务器需要获得客户端真实ip需要配置的参数,可以从Http Header中获得客户端ip listen test1
bind 0.0.0.0:
mode tcp
balance roundrobin
server s1 192.168.1.101: weight maxconn check inter 10s
server s1 192.168.1.102: weight maxconn check inter 10s
运行docker容器
docker run -d --name myhaproxy -p 4001:80 -v D:/docker/haproxy:/usr/local/etc/haproxy haproxy:latest
启动容器
docker start myhaproxy
查看容器是否已经正常启动
运行API单元测试代码,外部访问是4001端口
负载均衡成功。