Estou planejando criar um cluster RabbitMQ usando o Ansible no AWS VPC com o balanceador de carga interno da Amazon como o frontend para apontar conexões a ele.
Alguma sugestão de como remover um nó morto do cluster RabbitMQ com base na regra de escalonamento automático em que os nós podem subir e descer, ou se você estiver usando instâncias spot?
Quando um nó é desativado, o RabbitMQ não o remove automaticamente da lista de replicação, como posso ver Node not running
na interface de gerenciamento.
Consegui ingressar no cluster uma instância dimensionada automaticamente via Ansible e userdata.
amazon-web-services
ansible
rabbitmq
Berlim
fonte
fonte
Respostas:
Considere usar o plug- in rabbitmq / rabbitmq-autocluster :
Há bastante configuração para conectar-se a essa configuração, incluindo a definição de políticas do IAM e a adição de tags EC2 às instâncias em que você deseja participar do cluster.
Se você usar o AWS Autoscaling Groups, adicione o seguinte ao seu
rabbitmq.config
:Se você não estiver usando o AWS Autoscaling Groups, ainda poderá alcançar o resultado desejado usando tags nas suas instâncias do EC2:
Com tudo isso dito, eu recomendo fortemente o uso do Consul da HashiCorp como seu mecanismo de descoberta de serviços, a longo prazo, você obtém uma flexibilidade significativamente maior em termos de dissociar suas partes do sistema.
fonte
rabbitmq/rabbitmq-autocluster plugin
também saiba remover o nó da lista de replicação depois que o nó estiver inoperante, mais uma coisa, se me perguntar, pensei em começar com o2-node
cluster, você sugeriu começar com o3-node
cluster como você descreve em seu diagrama com a política `rabbitmqctl set_policy ha-all" "'{" ha-mode ":" all "," ha-sync-mode ":" automatic "}'`? ou devo postá-lo em outra pergunta?rabbitmq/rabbitmq-autocluster plugin
e ele funciona muito bem, no entanto, quando o nó é desativado, o RabbitMQ não o remove da lista de replicação, tem alguma idéia do porquê?https://github.com/aweber/rabbitmq-autocluster/wiki/General-Settings
, vou tentar isso.