Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 8397|Antwort: 0

Einführung in die drei Austauschmodi (Fanout, Direct und Topic) von RabbitMQ

[Link kopieren]
Veröffentlicht am 29.03.2018 14:30:45 | | | |
Einleitung:
In RabbitMQ werden alle von Produzenten eingesandten Nachrichten von Exchange akzeptiert, das sie dann gemäß einer bestimmten Richtlinie an die Warteschlange zur Speicherung weiterleitet
RabbitMQ bietet vier Arten von Exchanges: Fanout, Direct, Thema und Header
Der Header-Modus wird in der Praxis weniger genutzt, und dieser Artikel vergleicht nur die ersten drei Modi.

1. Direkter Austausch


Alle an Direct Exchange gesendeten Nachrichten werden an die im RouteKey angegebene Warteschlange weitergeleitet.

1. Im Allgemeinen können Sie die Exchange verwenden, die mit rabbitMQ geliefert wird:" (der Name der Exchange ist eine leere Zeichenkette, im Folgenden als Standard-Exchange bezeichnet).

2. In diesem Modus müssen keine Bindungsoperationen auf Exchange durchgeführt werden

3. Ein "RouteKey" ist für Nachrichten erforderlich, was einfach als Name der zu senden Warteschlange verstanden werden kann.

4. Wenn der im RouteKey angegebene Warteschlangenname im vhost nicht existiert, wird die Nachricht verworfen.

2. Fanout-Austausch


Alle Nachrichten, die an die Fanout-Börse gesendet werden, werden an alle an diesen Austausch gebundenen Warteschlangen weitergeleitet.

1. Sie kann als Muster der Routing-Tabelle verstanden werden

2. Dieser Modus erfordert keinen RouteKey

3. Dieser Modus erfordert, Exchange im Voraus an die Warteschlange zu binden, eine Exchange kann mehrere Warteschlangen binden, und eine Warteschlange kann an mehrere Exchanges gebunden werden.

4. Wenn die Börse, die die Nachricht empfangen hat, an keine Warteschlange gebunden ist, wird die Nachricht verworfen.

3. Themenaustausch


Alle Nachrichten, die an den Topic Exchange gesendet werden, werden an alle Warteschlangen weitergeleitet, die sich für die im RouteKey angegebenen Themen interessieren

1. Dieses Muster ist einfach komplexer: Jede Warteschlange hat ihr eigenes Thema, alle Nachrichten haben einen "Titel" (RouteKey), und Exchange leitet die Nachricht an alle Warteschlangen weiter, die dem RouteKey des betreffenden Themas ungefähr entsprechen können.

2. Dieser Modus erfordert einen RouteKey, möglicherweise das Binden von Exchange und Warteschlange im Voraus.

3. Beim Binden gibt man ein Thema an, das der Warteschlange wichtig ist, wie z. B. "#.log.#", um anzuzeigen, dass die Warteschlange alle Nachrichten im Zusammenhang mit Logs interessiert (eine Nachricht mit dem RouteKey "MQ.log.error" wird an die Warteschlange weitergeleitet).

4. "#" bedeutet 0 oder mehrere Schlüsselwörter, und "" bedeutet ein Schlüsselwort. Zum Beispiel "log". Es kann mit "log.warn" übereinstimmen, aber nicht mit "log.warn.timeout" übereinstimmen; Aber "log.#" entspricht dem obenstehen.

5. Ebenso wird diese Nachricht fallen, wenn Exchange keine Warteschlange findet, die mit dem RouteKey übereinstimmt.




Vorhergehend:Verwenden Sie XPosed, um eine starke Validierung von Android-SSL-Zertifikaten zu umgehen
Nächster:.net/c# RabbitMQ Verbindungsabbruch – Abschaltung und Wiederverbindung
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com