Hohe Verfügbarkeit, Failover auf Rabbitmq in Node.js

Hohe Verfügbarkeit, Failover auf Rabbitmq in Node.js

Ich möchte eine hohe Verfügbarkeit auf RabbitMQ-Knoten einrichten. Derzeit habe ich einen einzelnen Server, auf dem RabbitMQ läuft, aber ich werde einen weiteren hinzufügen. Hier ist die aktuelle Konfiguration, die wir in der NodeJS-Anwendung verwenden.

rabbitMQ: {
  url: 'amqp://user:password@node1:5672'
},

1) Muss ich auf beiden RabbitMQ-Knoten (Knoten1 und Knoten2) einen Cluster einrichten?

2) Was wäre die neue URL, die ich in die Konfigurationsdatei aufnehmen muss?

Antwort1

Das RabbitMQ-Team überwachtdiese Mailinglisteund beantwortet nur manchmal Fragen auf StackOverflow.


Sie geben keine Details darüber an, welche RabbitMQ-Version, Erlang-Version, welches Betriebssystem oder welche Node.js-Bibliothek Sie verwenden. Bitte geben Sie den Leuten in Zukunft immer solche Details, damit sie leichter helfen können.

Da Sie mit RabbitMQ-Clustering noch nicht vertraut sind, empfehle ich Ihnen dringend, unsere Dokumentation dazu zu lesen - https://www.rabbitmq.com/clustering.html

Muss ich auf beiden RabbitMQ-Knoten (Knoten1 und Knoten2) einen Cluster einrichten?

Auf beiden Knoten muss dieselbe Version von RabbitMQ und Erlang laufen. Sie erstellen den Cluster gemäß der Dokumentation, indem Sie die Clustering-Befehle auf einem Knoten ausführen. Wenn Sie erfolgreich waren, rabbitmqctl cluster_statuswird der Befehl dies anzeigen.

2) Was wäre die neue URL, die ich in die Konfigurationsdatei aufnehmen muss?

Ich gehe davon aus, dass Sie diesquaremo/amqp.nodeBibliothek. Diese Bibliothek unterstützt nicht die Bereitstellung mehrerer Hosts in der Verbindungs-URI. Sie müssen dies selbst implementieren und auch die Verbindungswiederherstellung selbst implementieren. Weitere Informationen finden Sie unterdieses GitHub-Problem.

Es gibt jedoch eine Bibliothek, die mehrere Knoten und die Wiederverbindung unterstützt:rascal. Sie können rascalden Code entweder selbst verwenden oder ausleihen (hier zum Beispiel).

verwandte Informationen