Ich plane, einen RabbitMQ-Cluster mit Ansible unter AWS VPC mit dem internen Load Balancer von Amazon als Frontend zu erstellen, um Verbindungen zu diesem Cluster herzustellen.
Irgendwelche Vorschläge, wie ein toter Knoten aus dem RabbitMQ-Cluster entfernt werden kann, basierend auf der Autoscaling-Regel, bei der Knoten auf und ab gehen können, oder wenn Sie Spot-Instanzen verwenden?
Wenn ein Knoten ausfällt, entfernt RabbitMQ ihn nicht automatisch aus der Replikationsliste, wie ich Node not running
in der Verwaltungsoberfläche sehen kann.
Ich habe es geschafft, eine skalierte Instanz automatisch über Ansible und Benutzerdaten mit dem Cluster zu verbinden.
amazon-web-services
ansible
rabbitmq
Berlin
quelle
quelle
Antworten:
Erwägen Sie die Verwendung des Rabbitmq / Rabbitmq-Autocluster- Plugins:
Es ist einiges an Konfiguration erforderlich, um dieses Setup zu erhalten, einschließlich des Festlegens von IAM-Richtlinien und des Hinzufügens von EC2-Tags zu den Instanzen, an denen Sie teilnehmen möchten.
Wenn Sie AWS Autoscaling Groups verwenden würden, würden Sie Folgendes zu Ihrem hinzufügen
rabbitmq.config
:Wenn Sie keine AWS-Autoscaling-Gruppen verwenden, können Sie dennoch das gewünschte Ergebnis mithilfe von Tags auf Ihren EC2-Instanzen erzielen:
Nach alledem empfehle ich dringend, Consul von HashiCorp als Service Discovery-Mechanismus zu verwenden. Auf lange Sicht erhalten Sie erheblich mehr Flexibilität bei der Entkopplung Ihrer Teile Ihres Systems voneinander.
quelle
rabbitmq/rabbitmq-autocluster plugin
auch weiß, dass der Knoten aus der Replikationsliste entfernt werden muss, sobald der Knoten ausgefallen ist. Wenn ich noch fragen darf, dachte ich, ich möchte mit dem2-node
Cluster beginnen. Schlagen Sie vor, mit dem3-node
Cluster zu beginnen wie Sie in Ihrem Diagramm mit der Richtlinie `rabbitmqctl set_policy ha-all" "{" ha-mode ":" all "," ha-sync-mode ": "omatic"} '`beschreiben? oder soll ich es in einer anderen frage posten?rabbitmq/rabbitmq-autocluster plugin
und es funktioniert ziemlich gut, aber wenn der Knoten ausfällt, entfernt RabbitMQ ihn nicht aus der Replikationsliste. Irgendeine Idee warum?https://github.com/aweber/rabbitmq-autocluster/wiki/General-Settings
, ich werde das versuchen.