配置文件重要參數:
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
編譯好的64位Linux版本的HAProxy和Balance能夠在下面的地址快速下載: mysql
http://bbs.xmgu2008.org/tools/balancehttp://bbs.xmgu2008.org/tools/haproxy算法