2017-03-10 3 views
0

Ich benutze RabbitMQ 3.6.5Quorum für RabbitMQ schreiben?

Ich habe Spiegelung Setup alles funktioniert gut. Ich habe eine Frage bezüglich des Schreibquorums.

Bestätigt ein Herausgeber die Garantie, dass die Nachricht in den Spiegel oder nur den Master geschrieben wird?

Dank

Antwort

1

Von rabbitmq HA doc

Mirrored Warteschlangen unterstützen sowohl Publisher bestätigt und Transaktionen. Die gewählte Semantik ist diejenige, die sowohl bei Bestätigungen als auch bei Transaktionen alle Spiegel der Warteschlange umfasst. Im Falle des Herausgebers bestätigt eine Nachricht nur der Herausgeber, wenn es von allen Spiegeln akzeptiert wurde.

Edit:

Transaktion Vs bestätigen: Sowohl auf die Garantien beziehen sich in Bezug auf die Nachrichtenübermittlung, unterscheiden sich jedoch in den unten genannten Möglichkeiten: -

Transaktionen:

  • Blocking: Der Publisher muss warten, bis der Broker jede Nachricht verarbeitet hat.
  • unnötig schwer: Für jedes Commit wird ein fsync() benötigt, was viel Zeit in Anspruch nimmt.

bestätigt:

  • Asynchronous: Der Hersteller kann publiziert streamen und nicht für den Broker warten. Der Broker bestätigt die Nachrichten bei der Verarbeitung und kann die Festplattenschreibvorgänge effektiv disponieren.
+0

Nur kurze Frage. Bestätigen die Transaktion und der Herausgeber das Gleiche? – user432024

+0

aktualisiert die Antwort für die gleiche – Rahul

+0

Testen von 2-Knoten-Cluster zur Vereinfachung (wird 3 für prod). Ich habe eine gespiegelte Warteschlange mit HA = Exactly, Count = 2 und Sync Mode = Automatic erstellt. Ich habe den zweiten Knoten erledigt. Aber ich habe keine public faillures. Alle Nachrichten wurden veröffentlicht und bestätigt. – user432024

Verwandte Themen