HAProxy能够提供到对后端服务器的心跳检查(即端口监测),默认状况下没有,须要手动在配置文件中配置,例如:
backend new_server
server first 10.1.1.1:1080 check inter 1000
server second 10.1.1.2:1080 check inter 1000
check inter 心跳检查配置项,1000以毫秒为单位,整体意思为:每隔1000ms检查一次10.1.1.1:1080和10.1.1.2:1080进程是否存活。检查方式为:使用tcp链接后台服务器端口,若是能创建链接,就认为存活且立刻关闭链接。
然而,在使用中发现一个问题:
1.4.23版本的haproxy在进行心跳检查后,关闭为了进行心跳时创建的tcp链接会发送一个RST分组。这个自己不会影响后端服务器的正常功能,可是绝大多数服务器收到这个分组后,会抛出异常,若是你的日志打印这种异常就会致使日志量很大(由于心跳很频繁,且每次心跳就会查收这个异常),且这种异常不容易定位,致使你”人心惶惶“!!!
1.4.24版本中修复了这个问题,它在心跳检查tcp链接时,没有达成三次握手,不向服务器发送最后一个ack分组,就立刻发送RST分组,这样服务器认为链接没有创建,不会抛出异常。
若是你们要使用HAProxy建议使用1.4.24版本。后端