Haproxy作为Loadblance,支持对backend的健康检查,以保证在后端backend不能服务时,把从frontend进来的request分配至其他可以服务的backend,从而保证整体服务的可用性。
option httpchk HEAD / HTTP/1.0
check:启动健康检测
inter:健康检测时间间隔
rise:检测服务可用的连接次数
fall:检测服务不可用的连接次数
检测方式:
1、通过监听端口进行健康检测
这种检测方式,haproxy只会去检查server的端口,并不能保证服务真正可用。
listen http_proxy 0.0.0.0:80(也可直接写在frontend)
mode http
cookie SERVERID
balance roundrobin
#直接检测端口
option httpchk
server web1 192.168.1.1:80 cookie server01 check
server web2 192.168.1.2:80 cookie serve02 check inter 500 rise 1 fall 2
2、通过URI进行健康检测
这种检测方式,是用去GET后端server的web页面,基本可以代表后端服务的可用性。
listen http_proxy 0.0.0.0:80(也可直接写在frontend)
mode http
cookie SERVERID
balance roundrobin
#GET index.html界面
option httpchk GET /index.html
server web1 192.168.1.1:80 cookie server01 check
server web2 192.168.1.2:80 cookie serve02 check inter 500 rise 1 fall 2