/ / Worker Queue wurde direkt in einem Q (nicht einem Exchange) veröffentlicht - rabbitmq

Worker Queue veröffentlicht direkt in einem Q (kein Exchange) - Rabbitmq

Beispiel für Worker Queue hier:

https://www.rabbitmq.com/tutorials/tutorial-two-dotnet.html

Warum werden Nachrichten im Worker-Queue-Szenario in einer Queue und nicht in einem Exchange veröffentlicht?

channel.BasicPublish(exchange: "",
routingKey: "task_queue",
basicProperties: properties,
body: body);

Antworten:

0 für die Antwort № 1

Wenn Sie dem Routingschlüssel "" - namenlosen Austausch (dh Sie veröffentlichen eigentlich immer bei einem Exchange) geben, handelt es sich bei diesem Routingschlüssel tatsächlich um den Namen der Warteschlange. Hier ist ein Zitat aus Anleitung 3:

Namenloser Austausch

In früheren Teilen des Tutorials wussten wir nichts über den Austausch konnten noch Nachrichten an Warteschlangen senden. Das war möglich weil Wir benutzten einen Standardtausch, den wir Identifizieren Sie sich durch das Leere Zeichenfolge ("").

Erinnern Sie sich, wie wir zuvor eine Nachricht veröffentlicht haben:

var message = GetMessage(args); var body =
Encoding.UTF8.GetBytes(message); channel.BasicPublish(exchange: "",
routingKey: "hello",
basicProperties: null,
body: body);


Der erste Parameter ist der Name der Börse. Die leere Zeichenfolge kennzeichnet die Standard- oder namenloser Austausch: Nachrichten werden mit dem durch angegebenen Namen an die Warteschlange weitergeleitet routingKey, falls vorhanden.