我已经设置了带有keepalived的haproxy,以实现percona群集的负载平衡和ip故障转移,并且由于它工作得很好,我想对另一个服务/守护程序使用相同的lb /故障转移。
我已经通过以下方式配置了haproxy:
listen my_service 0.0.0.0:4567
mode tcp
balance leastconn
option tcpka
contimeout 500000
clitimeout 500000
srvtimeout 500000
server host1 xxx.xxx.xxx.xx1:4567 check port 4567 inter 5000 rise 3 fall 3
server host2 xxx.xxx.xxx.xx2:4567 check port 4567 inter 5000 rise 3 fall 3
负载平衡工作正常,但是服务看到的是负载平衡器的IP,而不是客户端的实际IP。在http模式下,让haproxy传递到远程IP是很容易的,但是在tcp模式下该如何做呢?由于需要负载均衡的服务的性质,这一点至关重要。
谢谢!维托