2017-06-12 4 views
0

Ich bin neu bei RabbitMQ. Wenn die Nachricht in RabbitMQ einmal von einem Verbraucher konsumiert wird, ist sie immer noch in der Warteschlange verfügbar? Kann eine einzelne Nachricht aus einer bestimmten Warteschlange von mehreren Benutzern konsumiert werden? Im Gegensatz zu Kafka, wo Nachrichten in einem Dateisystem gespeichert werden, wie wird es in RabbitMq gespeichert?RabbitMQ Nachrichtenspeicher und -verbrauch

+0

hat die Lösung funktioniert? Es ist eine gute Idee, die Diskussion interaktiv zu gestalten. – lambodar

Antwort

1

Kann eine einzelne Nachricht aus einer bestimmten Warteschlange von mehreren Benutzern konsumiert werden?

Ja ist es sehr viel möglich, Sie können dies archivieren, indem Sie Fanout-Austausch verwenden. Es gibt verschiedene Arten von Exchange.

Direkt: Eins zu eins, es wird verschwinden die Nachricht einmal an den Verbraucher geliefert und Sie können den Ack-Modus manuell oder automatisch behandeln. Ein direkter Austausch liefert basierend auf dem Nachrichten-Routing-Schlüssel Nachrichten an Warteschlangen.

Fanout: Eins zu viele, eine Nachricht kann von mehreren Zuhörern wiederbelebt werden. Ein Fanout-Wechselwege-Nachrichten an alle Warteschlangen, die daran gebunden sind, und die Routing-Schlüssel wird

ignoriert

Thema: Topic Austausch von Nachrichten an einen oder mehrere Warteschlangen basierend auf zwischen einer Nachrichtenübereinstimmungsschlüssel-Routing und das Muster, das wurde verwendet, um eine Warteschlange zu einem Austausch zu binden

Mehr auf Exchange here:

im Gegensatz zu Kafka, wo Nachricht in einem Dateisystem gespeichert werden, wie es in RabbitMQ gespeichert? die Nachricht aktivieren persistence und HA Polity (für die Spiegelung) als optionale Konfiguration auf der Grundlage Ihrer Anforderung

standardmäßig RabbitMQ speichert Nachrichten im Speicher, wenn Sie möchten. Es kommt jedoch mit den Kosten für die Leistung, es wird Ihren Durchsatz durch Throttling (E/A-Betrieb) reduzieren.

enter image description here

Verwandte Themen