So implementieren Sie ein Single-Consumer-Multi-Queue-Modell für RabbitMQ

9

Ich habe festgestellt, dass dieses Bild meinem Geschäftsmodel sehr ähnlich ist. Ich muss die Nachricht in eine Warteschlange aufteilen. für etwas schwere Arbeit. Ich kann mehr Worker-Thread für sie hinzufügen. Aber für manche keine viel schwere Arbeit. ich kann Lassen Sie einzelne Verbraucher ihre Nachricht abonnieren. Aber wie macht man das in RabbitMQ? Durch ihr Dokument. Ich habe gerade dieses Single-Queue-Multi-Consumer-Modell gefunden.

    
pythonee 06.07.2012, 07:13
quelle

2 Antworten

1
  1. Sie können mehrere Worker zu einer Warteschlange hinzufügen
  2. Es können mehrere Warteschlangen an einen Austausch gebunden sein.

In RabbitMQ sendet der Produzent die Nachricht immer an eine Vermittlungsstelle. Also, in Ihrem Fall hoffe ich, dass nur ein Austausch ausreicht. Wenn Sie das Guthaben auf der Verbraucherseite laden möchten, haben Sie die oben genannten zwei Optionen.

Sie können auch meinen Artikel lesen: Ссылка

    
Saravanan Subramanian 19.08.2015 09:49
quelle
0

RabbitMQ hat ein sehr flexibles Modell, das eine Vielzahl von Routing-Szenarien ermöglicht.

  
  1. Ich muss die Nachricht in eine Warteschlange aufteilen. für etwas schwere Arbeit. Ich kann mehr Worker-Thread für sie hinzufügen.
  2.   

Ja, dies wird über einen direkten Austausch unterstützt. Veröffentlichen Sie eine Nachricht mit einem Routing-Schlüssel, der dem Namen der Warteschlange entspricht. Nehmen wir an, Sie verwenden den vollständig qualifizierten Objektnamen (z. B. MyApp.Objects.DataTypeOne ). Sie müssen lediglich mehrere konsumierende Prozesse in diese Warteschlange aufnehmen, und RabbitMQ wird mithilfe eines Round-Robin-Ansatzes einen Lastenausgleich durchführen.

  
  1. Aber für einige nicht viel schwere Arbeit. Ich kann einzelnen Kunden erlauben, ihre Nachricht zu abonnieren.
  2.   

Ja, Sie können dies auch tun. Derselbe Prozess wie im obigen Absatz. Schließen Sie einfach nicht mehrere konsumierende Prozesse an.

  

Ich habe festgestellt, dass dieses Bild meinem Geschäftsmodell sehr ähnlich ist.

Das Diagramm ist nicht sehr nützlich, da es keine Informationen über den Typ der veröffentlichten Nachrichten gibt. In diesem Sinne ist es nur ein Verbindungsdiagramm. Die interessanten Zeilen sind diejenigen, die die Warteschlangen mit der Börse verbinden, wie Sie es in RabbitMQ über Warteschlangenbindungen . Sie können auch Austauschvorgänge aneinander binden, aber das ist ein bisschen weiter, als wir wahrscheinlich brauchen.

Alles andere auf dem Diagramm steht vollständig unter Ihrer Kontrolle als Benutzer des RabbitMQ / AMQP-Systems. Sie können eine beliebige Anzahl von Publishern erstellen und eine beliebige Anzahl von konsumierenden Prozessen verwenden, die jeweils aus einer beliebigen Anzahl von Warteschlangen konsumieren. Es gibt keine festen Grenzen, obwohl es einige praktische Aspekte gibt, über die Sie wahrscheinlich nachdenken sollten, um sicherzustellen, dass Ihr System wartbar ist.

    
theMayer 04.02.2018 02:32
quelle

Tags und Links