Estou executando uma única instância do RabbitMQ em um servidor razoavelmente grande (32 GB de RAM, SSD de duelo, Octa Core Intel, etc.) e tenho um grande número de aplicativos publicando e consumindo do RabbitMQ sem problemas.
Esta manhã, ao implantar outro aplicativo, ele simplesmente não iniciava reclamando que não conseguia se conectar. Reduzi o número de consumidores em meu aplicativo e ele se conectou perfeitamente. Olhando para o meu painel do RabbitMQ, posso ver a contagem de consumidores fixada em 900; aumentando o número de consumidores em meu aplicativo novamente e o aplicativo está lançando todos os tipos de exceções, não conseguindo se conectar ao RabbitMQ.
Então, olhando para a contagem de consumidores que está fixada em 900 e o comportamento que estou vendo, acho que atingi algum tipo de limite de consumo.
O servidor está ocioso em 1% e olhando para os processos Erlang disponíveis, estou vendo 1048576 available
, então há muita capacidade restante no servidor.
Como faço para aumentar esse limite artificial de 900 consumidores?
Você provavelmente atingiu o número máximo de descritores de arquivo. Suponho que você esteja usando Linux e muitas distribuições definem esse ulimit como 1024 por padrão. Quando o RabbitMQ atinge esse limite, ele não pode aceitar mais conexões.
O site RabbitMQ tem um artigo sobre quais parâmetros relacionados à rede você pode/deve ajustar, em particular como aumentar os descritores de arquivo ulimit .
Parece que o nó RabbitMQ simplesmente não consegue lidar com mais conexões, resolvido agrupando RabbitMQ.