Haproxy 1.5x recarrega a configuração sem terminar as sessões da camada 7?

1

Gente,

Mudei um dos nossos aplicativos SaaS de um balanceador de carga de hardware do ponto coiote para um VM executando nginx + haproxy com o haproxy lidando com persistência de hash.

O problema que estou encontrando é o aplicativo requer aderência da sessão para um único servidor de back-end (o que leva a solicitação original), mas quando eu faço uma mudança para haproxy.cfg e fazer um serviço haproxy recarregar reinicia haproxy como um novo processa e mata o processo antigo que finaliza todas as conexões existentes com servidores backend específicos, o que significa que qualquer usuário é imediatamente desconectado do aplicativo.

Aqui está a configuração do backend haproxy para o HA-Proxy versão 1.5.4 2014/09/02

backend webapp
    balance hdr(X-Real-IP)
        hash-type consistent
        mode http
        server server1 192.168.10.50:8080 check port 8080
        server server2 192.168.10.53:8080 check port 8080
        server server3 192.168.10.55:8080 check port 8080
        server server4 192.168.10.62:8080 check port 8080 backup

Este é um grande problema para nós, pois quando preciso realizar manutenção em um servidor de back-end específico ou adicionar / remover servidores adicionais do pool de back-end, não posso fazê-lo sem afetar a experiência do cliente no aplicativo.

Como posso dinamicamente fazer alterações nos servidores no back-end sem encerrar as sessões existentes nos backends? Não estou mudando se o Haproxy não for recarregado normalmente?

    
por Jchieppa 03.12.2015 / 01:27

1 resposta

2

Se você definir um par para o servidor, mesmo que seja apenas um e seja o local, a cada soft restart de haproxy, o estado deverá ser replicado para o novo processo.

Documentação

    
por 03.12.2015 / 01:38