J'ai installé un haproxy avec keepalived pour l'équilibrage de charge et le basculement IP d'un cluster percona, et comme cela fonctionne très bien, j'aimerais utiliser le même lb / failover pour un autre service / démon.
J'ai configuré haproxy de cette façon:
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
L'équilibrage de charge fonctionne correctement, mais le service voit l'IP de l'équilibreur de charge au lieu des adresses IP réelles des clients. En mode http, il est assez facile de faire passer le haproxy sur l'IP distante, mais comment faire en mode tcp? Ceci est essentiel en raison de la nature du service dont j'ai besoin pour équilibrer la charge.
Merci! Vito