Como configurar o HAProxy com failover?

13

Eu entendo que, para obter o failover em uma configuração de balanceamento de carga HAProxy, você precisa de duas máquinas executando o HAproxy (e encaminhá-lo para várias instâncias do servidor da web). Mas neste caso, digamos abcd.com, como dividimos / roteamos esse tráfego para 2 endereços IP em vez de um? O DNS geralmente resolve nomes de domínio para um único IP. Como fazemos isso usando ferramentas / serviços gratuitos / baratos?

    
por mixdev 16.06.2011 / 21:34

3 respostas

18

Se você tem tanta carga que precisa balancear a carga em duas instâncias do haproxy, o round-robin do DNS não é uma má ideia (eu ficaria surpreso se você tivesse essa carga). O round robin do DNS não fornecerá um bom failover.

No Stack Overflow, usamos heartbeat para fornecer um único IP virtual, esse IP está ativo em apenas um host haproxy de cada vez (se ele for desativado, o outro assumirá esse IP). Você poderia usar heartbeat para ter um IP em cada máquina e, em seguida, DNS round robin entre os dois. Se alguém falhasse, o outro teria os dois IPs.

O HAProxy está usando cerca de 1-5% de CPU em nosso servidor físico para equilibrar nosso tráfego, que possui um único Intel(R) Xeon(R) CPU E5504 @ 2.00GHz . Portanto, o HAProxy geralmente pode lidar com muito tráfego facilmente.

    
por 16.06.2011 / 21:58
23

Como Kyle diz, o heartbeat pode ser usado para fazer com que dois servidores haproxy atuem como um par failover. No entanto, enquanto muitas pessoas usam heartbeat para o trabalho, keepalived é sugerido pelo autor do haproxy.

Ele descreve os detalhes da lista de discussão haproxy: link

Em resumo, é assim:

    A pulsação
  • é orientada por cluster. Ele garante que apenas um servidor tenha acesso a um recurso (por exemplo, armazenamento SAN)

  • keepalived é orientado pela rede. Isso garante que pelo menos um servidor tenha o IP em questão.

por 20.06.2011 / 21:52
-1

Você pode encontrar o que procura aqui: link

    
por 26.06.2015 / 08:36