У меня настроен haproxy с keepalived для балансировки нагрузки и ip failover кластера percona, и, поскольку он отлично работает, я бы хотел использовать тот же lb / failover для другого сервиса / демона.
Я настроил 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? Это очень важно из-за характера услуг, которые мне нужны для балансировки нагрузки.
Спасибо! Vito