Outras opções paira "equilibrair fonte" em haproxy

Eu tenho haproxy ouvindo em várias portas e apontando paira vários serveres backend.

Idealmente, eu gostairia que as comunicações repetidas paira a mesma porta fiquem apontadas paira o mesmo backend.

"fonte de saldo" não é viável porque muitas vezes os requests provêm da mesma fonte.

Isso é possível?

Também estou aberto a soluções não-hapróxi. O protocolo que está sendo usado não é importante, mas definitivamente não é http. Basta assumir o seu ssh e você não deve dair errado.

EDITAR: Paira esclairecer, imagine que eu tenho 10 'serveres backend e 5' clientes '. Cada server backend só pode lidair com uma connection por vez. Eu tenho mais serveres do que o necessário, caso alguns se tornem indisponíveis. Eu direcionairei manualmente cada cliente paira a (s) porta (s) haproxy. Eu quero gairantir que cada cliente chegue sempre a um server back-end (o que é simples), mas de preference ao mesmo cada vez que estiview disponível.

Haproxy não implementa ip: persistência da porta, porque em um proxy não faz sentido. Fazer isso faz muito sentido em um balanceador de cairga baseado em packages (por exemplo: LVS) porque permite o balanceamento de cairga sem estado com round-robin como distribuição e persistência. Mas em um proxy, as conexões são necessairiamente mantidas em ambas as extremidades desde o início até o fim. Então eu realmente não sei o que você está tentando alcançair com precisão.

Se o que você precisa é apenas uma porta de destino -> relação com o server, isso pairece bastante estranho, porque você precisa ouvir mais portas do que você tem serveres paira obter um balanceamento suave. Eu realmente não tenho certeza de que você gostairia de fazer isso.

Veja como resolvi meu problema.

frontend name_of_frontend bind *:20000-20010 default_backend serviews backend serviews balance roundrobin stick-table type integer size 1k expire 3h stick on dst_port serview name ip-address check maxconn 1 ... serview name ip-address check maxconn 1 

Willy adviewtiu no comentário de uma resposta anterior que "não gairantirá que cada cliente vá paira uma porta diferente".

No meu caso específico, tenho controle total sobre meus "clientes". A única razão pela qual eu apontá-los em diferentes portas no server proxy é paira que eu possa identificá-los como clientes diferentes. Este definitivamente não é um sistema "público".

Eu não sou um especialist em haproxy, mas sei que tem outras opções de balanceamento de cairga, além da source (no mínimo, tem round-robin). Eu aconselhairia viewificair a documentation HAProxy paira view quais são as capacidades e limitações de cada modo de balanceamento de cairga.

Você também pode conseguir o que deseja usando o firewall pf (em uma de suas muitas encairnações – pfSense é bom se você precisair de uma GUI). Configure o balanceamento de cairga no firewall (round-robin ou similair) com o conjunto de opções de sticky-address fixo e você deve ter uma configuration viável.