haproxy

用C語言編寫的源代碼軟體

HAProxy是一個使用C語言編寫的自由及開放源代碼軟體,其提供高可用性、負載均衡,以及基於TCP和HTTP的應用程序代理。

安裝


  -....
 -..
 - //查核版
make TARGET=linux26 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy

配置


配置HAProxy Session親緣性的三種方式
haproxy負載均衡保持客戶端和伺服器Session親緣性的三種方式:
1 用戶IP 識別
haproxy 將用戶IP經過hash計算后 指定到固定的真實伺服器上(類似於nginx 的IP hash 指令)
配置指令 balance source
2 cookie 識別
haproxy 將WEB服務端發送給客戶端的cookie中插入(或添加前綴)haproxy定義的後端的伺服器COOKIE ID。
配置指令例舉 cookie SESSION_COOKIE insert indirect nocache
用firebug可以觀察到用戶的請求頭的cookie里 有類似" Cookie jsessionid=0bc588656ca05ecf7588c65f9be214f5; SESSION_COOKIE=app1" SESSION_COOKIE=app1就是haproxy添加的內容
3 session 識別
haproxy 將後端伺服器產生的session和後端伺服器標識存在haproxy中的一張表裡。客戶端請求時先查詢這張表。
配置指令例舉 appsession JSESSIONID len 64 timeout 5h request-learn
配置舉例:
#vi /usr/local/haproxy/haproxy.cfg
backend COOKIE_srv
mode http
cookie SESSION_COOKIE insert indirect nocache
server REALsrv_70 184.82.239.70:80 cookie 11 check inter 1500 rise 3 fall 3 weight 1
server REALsrv_120 220.162.237.120:80 cookie 12 check inter 1500 rise 3 fall 3 weight 1
backend SOURCE_srv
mode http
balance source
backend APPSESSION_srv
mode http
appsession JSESSIONID len 64 timeout 5h request-learn
server REALsrv_70 184.82.239.70:80 cookie 11 check inter 1500 rise 3 fall 3 weight 1
server REALsrv_120 220.162.237.120:80 cookie 12 check inter 1500 rise 3 fall 3 weight 1

啟動


#啟動haproxy
/usr/local/haproxy/haproxy -f
#查看是否啟動
[zhangy@BlackGhost haproxy]$ ps -ef|grep haproxy
4859 ? 00:00:00 haproxy
4860 ? 00:00:00 haproxy

測試


[root@BlackGhost haproxy]# /usr/local/bin/webbench -c 100 -t 30 http://localhost:1080/phpinfo.php

說明


HAProxy監聽的埠是1080,代理192.168.18.2:10000,127.0.0.1:10000
統計監聽的是8888埠 http://localhost:8888/haproxy-stats

版本發布


2012年12月28日 : HAproxy 1.5-dev17 發布。
2012年05月15日,HAproxy 1.5.0 dev10 發布。
2012年05月22日,HAproxy 1.4.21 發布,Web負載均衡。
2012年06月04日,HAproxy 1.5 dev11 發布,該版本修復了 dev8 的很多 bug ,合併和一些新特性,包括伺服器的軟起動和停止,同時增加選項用於對整個 URI 進行哈希而不只是路徑,同時增加選項用於當主伺服器恢復時停止備用伺服器的功能等等,如果你正在使用 dev8 請立即升級。
2012年08月23日,HAproxy 1.4.22 發布,Web負載均衡。
2012年09月10日,HAproxy 1.5 dev12 發布。
2012年09月11日,HAproxy 1.5.0 dev12 發布,該版本最主要的是增加客戶端和伺服器端的原生 SSL 支持,其他方面包括新的 ACL 和模式,支持老的 Linux 內核上的 IPv6 透明模式,可通過 nice 關鍵字來修改會話的調度優先順序等等。
2012年11月22日,HAproxy 1.5.0 dev13 發布。
2012年12月24日,HAproxy 1.5.0 dev15 發布。
2012年12月28日,HAproxy 1.5.0 dev17 發布。
2019年04月25日,HAproxy 1.8-stable 發布。
2019年04月25日,HAproxy 1.9-stable 發布。
2019年03月26日,HAproxy 2.0-dev 發布。