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 № 1Wenn 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.