Qual é a diferença entre keepalive e heartbeat?


20

Quero estruturar um cluster de servidores com alta disponibilidade. Agora, quero saber detalhes sobre keepalive e batimentos cardíacos, qual é a diferença entre ambos e Como escolher um.

Respostas:


26

Acredite que a pergunta foi respondida com muita precisão por Willy Tarreau, autor do HAProxy, em http://www.formilux.org/archives/haproxy/1003/3259.html .

Citação no link acima

A pulsação do coração não é a melhor ferramenta para obter uma configuração redundante de haproxy, ela foi projetada para criar clusters, o que é muito diferente de ter dois equipamentos de rede sem estado redundantes. Ferramentas orientadas à rede, como keepalived ou ucarp, são as mais adequadas para essa tarefa

A diferença entre essas duas famílias é simples

  1. um produto orientado a cluster, como pulsação , garantirá que um recurso compartilhado esteja presente em mais de um local. Isso é muito importante para sistemas de arquivos compartilhados, discos, etc ... Ele foi projetado para desativar um serviço em um nó e em outro durante uma alternância. Dessa forma, o recurso compartilhado nunca pode ser acessado simultaneamente. Esta é uma tarefa muito difícil de realizar e faz bem.
  2. um produto orientado à rede, como keepalived , garantirá que um endereço IP compartilhado esteja presente em pelo menos um local. Observe que não estou mais falando sobre um serviço ou recurso, ele apenas brinca com endereços IP. Ele não tentará desativar ou atualizar nenhum serviço, apenas considerará um certo número de critérios para decidir qual nó é o mais adequado para oferecer o serviço. Mas o serviço já deve estar ativo nos dois nós. Como tal, é muito adequado para roteadores, firewalls e proxies redundantes, mas não para matrizes de disco nem sistemas de arquivos.

(Sim, eu sei que é uma pergunta antiga, mas para referência futura)


Referência futura, de fato. O batimento cardíaco foi um problema para configurar e começar a trabalhar, eu achei que o keepalived era muito mais simples e, com a minha configuração MySQL Master Master Single Write, funcionou conforme o esperado.
Mike Purcell

3

Não há diferenciação clara e consistente. Às vezes, essas palavras são usadas de forma mais ou menos intercambiável.

Existe um deamon comum do usuário para configurações de alta disponibilidade chamado Keepalived , e o projeto Linux HA costumava ter um deamon chamado Heartbeat, que agora foi alterado para Pacemaker . (Confio que você não pediu uma visão completa desses dois sistemas, e quais são todas as diferenças, isso seria algo fora de tópico.)

No uso diário dos termos , eu diria que o uso mais comum é o seguinte:

  • "Keepalive" refere-se mais geralmente a um sistema que mantém um serviço altamente disponível.

  • "Pulsação" refere-se mais especificamente a um protocolo de comunicação, para onde ou mais membros de uma instalação de alta disponibilidade enviam periodicamente "Sim, ainda estou vivo!" mensagens. Seus colegas agem se não virem uma mensagem "Sim, estou vivo" antes de um horário definido (ou seja, o outro host ficará inoperante). É como sentir um pulso, daí o nome.


Veja a resposta @vange. Parece bem claro para mim. Serviços diferentes nomes diferentes objetivos de design diferentes e casos de uso.
nelaaro 17/01
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.