配置文件重要参数:
global maxconn 65535 #最大连接数,HAProxy是数据转发,每条数据链路占用两个连接。
uid 99 #运行身份
gid 99 #运行身份
#daemon #daemon方式运行
#debug #调试方式运行
#quiet #静默方式运行
defaults timeout connect 86400s #连接超时,超过设置时间,HAProxy会主动断开双方连接。
timeout server 86400s
timeout client 86400s
listen db_3601 0.0.0.0:13601 #设置转发实例
mode tcp #tcp模式,只转发,不分析
option tcpka
option srvtcpka
option clitcpka
balance roundrobin #均衡算法
server db_47_3601 192.168.120.47:3601 check inter 1000 rise 1 fall 2 #目标服务器定义
server db_48_3601 192.168.120.48:3601 check inter 1000 rise 1 fall 2 #目标服务器定义
命令行重要参数:
-D goes daemon #设置为daemon方式运行
-p writes pids of all children to this file #将pid写入到文件中
-sf/-st [pid ]* finishes/terminates old pids. Must be last arguments. #替换原有进程
-f <cfgfile> #指定配置文件
如何在更新配置文件后,快速重启服务:
通过-st指定原有进程的pid: haproxy -f /apps/haproxy/db.cfg -p /apps/haproxy/db.pid -D -st 26611
简单数据转发示例:
listen db_3608 0.0.0.0:13608
mode tcp
option tcpka
option srvtcpka
option clitcpka
balance roundrobin
server db_47_3608 192.168.120.47:3608
简单负载均衡示例:
listen http_8080 0.0.0.0:8080
mode tcp
option tcpka
option srvtcpka
option clitcpka
balance roundrobin
server http_69_80 192.168.120.69:80
server http_67_80 192.168.120.67:80
简单TCP健康检查示例:
server http_67_80 192.168.120.67:80 check inter 1000 rise 1 fall 2
其中:
check为健康检查指令。
inter 1000表示检察时间间隔为1000毫秒。
rise 1表示检查成功一次即将其标识为可用。
fall 2表示检查失败两次即将其标识为不可用。
简单数据库健康检查实例:
option mysql-check
server http_67_80 192.168.120.67:80 check inter 1000 rise 1 fall 2
简单主备模式数据转发:
listen http_8080 0.0.0.0:8080
mode tcp
option tcpka
option srvtcpka
option clitcpka
balance roundrobin
server http_69_80 192.168.120.69:80 check
server http_67_80 192.168.120.67:80 backup check #待实践
附:balance使用参考:
简单数据转发:
balance 8080 192.168.120.69:80
简单负载均衡:
balance 8080 192.168.120.69:80 192.168.120.67:80
调试用途:
balance 11211 192.168.120.69:80 -p -d -f