Je prévois de créer un cluster RabbitMQ à l'aide d'Ansible sur AWS VPC avec l'équilibreur de charge interne Amazon comme interface pour pointer les connexions vers celui-ci.
Une suggestion sur la façon de supprimer un nœud mort du cluster RabbitMQ en fonction de la règle de mise à l'échelle automatique où les nœuds peuvent monter et descendre, ou si vous utilisez des instances ponctuelles?
Lorsqu'un nœud tombe en panne, RabbitMQ ne le supprime pas automatiquement de la liste de réplication, je peux le voir Node not running
dans l'interface de gestion.
J'ai réussi à joindre au cluster une instance mise à l'échelle automatiquement via Ansible et les données utilisateur.
Réponses:
Pensez à utiliser le plugin rabbitmq / rabbitmq-autocluster :
Il y a pas mal de configuration à brancher pour obtenir cette configuration, y compris la définition de stratégies IAM et l'ajout de balises EC2 aux instances que vous souhaitez faire partie de votre cluster.
Si vous deviez utiliser AWS Autoscaling Groups, vous ajouteriez les éléments suivants à votre
rabbitmq.config
:Si vous n'utilisez pas AWS Autoscaling Groups, vous pouvez toujours obtenir le résultat souhaité en utilisant des balises sur vos instances EC2:
Cela dit, je recommande fortement d'utiliser Consul by HashiCorp comme mécanisme de découverte de services, à long terme, vous obtenez beaucoup plus de flexibilité en termes de découplage de vos parties de votre système les unes des autres.
la source
rabbitmq/rabbitmq-autocluster plugin
saura également supprimer le noeud de la liste de réplication une fois que le noeud est en panne, encore une chose si je peux demander, je pensais commencer par le2-node
cluster, suggérez-vous de commencer par le3-node
cluster comme vous le décrivez dans votre diagramme avec la politique `rabbitmqctl set_policy ha-all" "'{" ha-mode ":" all "," ha-sync-mode ":" automatic "}' '? ou devrais-je l'afficher dans une autre question?rabbitmq/rabbitmq-autocluster plugin
et cela fonctionne plutôt bien mais lorsque le nœud tombe en panne, RabbitMQ ne le supprime pas de la liste de réplication, une idée pourquoi?https://github.com/aweber/rabbitmq-autocluster/wiki/General-Settings
je l'ai trouvé , je vais essayer ça.