2016-03-27 1 views
0

1 - Könnte jemand auf die Unterschiede zwischen diesen beiden Ansätzen eingehen?
2 - Im Detail, was passiert mit Warteschlangen und Nachrichten, wenn ein Knoten bei jedem Ansatz ausfällt?RabbitMQ HA: Spiegelung VS Schrittmacher

ich in der docs sehen

Während RabbitMQ auch Clustering unterstützt wird Clustering soll Skalierbarkeit erleichtern, nicht vorhanden sind. Wenn also in einem Cluster ein Knoten ausfällt, gehen Warteschlangen, die sich auf dem ausgefallenen Knoten befanden, verloren. Bei der in diesem Handbuch beschriebenen Hochverfügbarkeitseinrichtung können die dauerhaften Warteschlangen und die darin enthaltenen persistenten Nachrichten bei Ausfall eines Knotens von einem anderen Knoten wiederhergestellt werden.

Gilt dies für gespiegelte Warteschlangen?

Antwort

1

Gespiegelte Warteschlangen, as described on the RabbitMQ website, bedeuten, dass alle Nachrichten auf allen Knoten repliziert werden, die zum Hosten von Slave-Warteschlangen konfiguriert sind. Sobald eine Nachricht eine gespiegelte Warteschlange erreicht, wird sie im Falle eines Knotenfehlers nicht verloren gehen.

Eine gespiegelte Warteschlange wird mit "Kopien" davon auf allen konfigurierten Knoten implementiert. Eine dieser Kopien ist der Warteschlangenmaster (anfänglich auf dem Knoten, auf dem die Warteschlange standardmäßig erstellt wurde). Die anderen Kopien sind Warteschlangen-Slaves.

Ihre Clients können sich mit dieser Warteschlange von allen Knoten im Cluster verbinden und mit ihnen interagieren (gerade Knoten, die nicht den Master oder einen Slave enthalten).

Um die Reihenfolge der Nachrichten zu gewährleisten, durchlaufen alle Nachrichten zuerst den Warteschlangenmaster und werden dann auf allen Slaves repliziert. Dies bedeutet, dass möglicherweise viel Kommunikation zwischen den Knoten stattfindet.

Wenn ein Knoten fehlschlägt, wenn dieser Knoten einen Warteschlangenmaster enthielt, wird einer der Warteschlangen-Slaves als neuer Master ausgewählt. Wenn der Knoten zurückkommt, hält er jetzt einen Warteschlangen-Slave.