配置文件位于 /etc/haproxy/haproxy.cfg haproxy 启动命令 haproxy -f /etc/haproxy/haproxy.cfg haproxy 停止命令 pkill -kill -u haproxy 注意将 nbproc 设置为服务器 cpu 核数 --------------------脚本内容-------------------- global # global 的内容基本固定,也比较好理解。 log 127.0.0.1 local2 maxconn 4096 user haproxy group haproxy chroot /var/lib/haproxy daemon pidfile /var/run/haproxy.pid stats socket /var/run/haproxy.sock # Make sock file for haproxy nbproc 40 # 启动 40 个进程并发转发,高版本可以用 nbthread,改为线程化。 defaults # 这部分都是抄的,option 不是很明白。 log global mode http option tcplog option dontlognull retries 3 option redispatch maxconn 1024 timeout connect 500000s timeout client 500000s timeout server 500000s listen tidb_cluster 0.0.0.0:8000 # 真正的 proxy 名以及接受服务的地址 mode tcp balance leastconn # 这个方法最适用于数据库,不要改。 server tidb1 172.16.50.42:4000 check # check 似乎可以接一个反馈状态的端口,不接可能不生效,但是无所谓。 server tidb2 172.16.50.43:4000 check server tidb3 172.16.50.44:4000 check server tidb4 172.16.50.45:4000 check server tidb5 172.16.50.46:4000 check server tidb6 172.16.50.47:4000 check #IP 透传 #server tidb1 10.0.1.4:4000 send-proxy weight 1