Eu fiz o balanceamento de carga L4 para o RabbitMQ em cluster com balanceadores de carga Stingray - ele funciona bem e fizemos RR sem nenhum problema específico.
No caso de um nó Rabbit ficar inativo, as conexões TCP falharão e o balanceador de carga enviará tráfego para o outro nó.
Agora, isso é tecnicamente ineficiente, já que qualquer envio de registro para o nó A será enviado ao nó B também e vice-versa internamente por Rabbit via epmd
de Erlang.
Uma nota importante muito é que você deve definir o balanceador de carga para manter as conexões TCP abertas indefinidamente. Esse é um problema comum, já que o coelho MQ usa conexões tcp de longa duração, mas a maioria dos balanceadores de carga são direcionados para parâmetros de conexão HTTP-esque. Algum software (nginx) tem janelas de limpeza TCP muito agressivas e irá fechar essas conexões TCP, causando uma falha de conexão, mesmo que todas as máquinas estejam felizes.