Como o balancer de carga trabalha em RabbitMQ

sou novo em RabbitMQ, por isso, por favor, desculpem-me por perguntas triviais:

1) Em caso de agrupamento em RabbitMQ, se um nó falhar, carregar o deslocamento para outro nó (sem parar os outros nós). Da mesma forma, também podemos adicionar novos nós novos ao cluster existente sem parar os nós existentes no cluster. Está correcto?

2) suponha que começamos com um único nó rabbitMQ, e criamos 100 filas nele. Agora os produtores começaram a enviar mensagens a um ritmo mais rápido. Para lidar com isto. carregar, adicionamos mais nós e fazemos um conjunto. Mas as filas existem apenas no primeiro nó. Como a carga é equilibrada entre nós agora? E se precisarmos adicionar mais filas, em que nó devemos adicioná-las? Ou podemos adicioná-los usando balancer de carga.

Obrigado Antecipadamente

Author: Pragmatic, 2015-01-29

1 answers

1) Em caso de agrupamento em RabbitMQ, se um nó falhar, carregar o deslocamento para outro nó (sem parar os outros nós). Da mesma forma, também podemos adicionar novos nós novos ao cluster existente sem parar os nós existentes no cluster. Está correcto?

Se um nó no qual a fila foi criada falhar, o rabbitmq irá eleger um novo mestre para essa fila no cluster, desde que o espelhamento para a fila esteja ativado. Agrupamento fornece HA com base em uma política que você pode definir.

2) suponha que começamos com um único nó rabbitMQ, e criamos 100 filas nele. Agora os produtores começaram a enviar mensagens a um ritmo mais rápido. Para lidar com esta carga, adicionamos mais nós e fazemos um conjunto. Mas as filas existem apenas no primeiro nó. Como a carga é equilibrada entre nós agora?

A carga não está equilibrada. O aglomerado distribuído fornece HA e não balanceamento de carga. Seus pedidos serão redirecionados para o nó no cluster no qual a fila residir.

E se precisarmos de adicionar mais filas, em que nó devemos adicioná-las? Ou podemos adicioná-los usando balancer de carga.

Isso depende do seu caso de uso. Algumas pessoas usam um robin redondo e criam filas em nós separados.

Em resumo

  • para uso HA espelhando no grupo.
  • para equilibrar a carga através dos nós, use um LB para distribuir pelas filas.
  • Se você gostaria de carregar balance a própria fila dê uma olhada em filas federadas . Eles permitem que você obtenha mensagens em uma fila de downstream a partir de uma fila de upstream.
 9
Author: Deepak Bala, 2016-02-17 10:10:03