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

Ansehen: 14746|Antwort: 1

Der Unterschied zwischen activemq Queue und Topic ist, dass

[Link kopieren]
Veröffentlicht am 14.07.2017 09:59:30 | | | |
Queue und Topic sind zwei Messaging-Modelle, die von JMS unterstützt werden:
        1. Point-to-Point (PTP) Warteschlangen-Messaging-Modell:
        Mit diesem Messaging-Modell kann eine Anwendung (also der Nachrichtenproduzent) eine Nachricht an eine andere Anwendung senden (also an den Nachrichtenkonsumenten). In diesem Auslieferungsmodell ist der Nachrichten-Zieltyp eine Warteschlange (d. h. die Destination-Interface-Implementierungsklasse wird von der Session-Interface-Implementierungsklasse erstellt, indem deren createQueue-Methode aufgerufen und der Warteschlangenname eingegeben wird). Die Nachricht wird zunächst an eine bestimmte Warteschlange auf der Seite des Nachrichtenservers zugestellt und von dort aus an einen Verbraucher übergeben, der diese Warteschlange abhört. Die gleiche Warteschlange kann mehrere Nachrichtenproduzenten und Nachrichtenkonsumenten verknüpfen, aber eine Nachricht kann nur an einen Nachrichtenempfänger zugestellt werden. Wenn mehrere Nachrichtenkonsumenten Nachrichten in der Warteschlange hören, bestimmt der JMS-Nachrichtenserver, welcher Nachrichtenkonsument die nächste Nachricht erhält, basierend auf dem Prinzip "Wer zuerst kommt, wer zuerst kommt". Wenn kein Nachrichtenkonsument die Warteschlange hört, bleibt die Nachricht in der Warteschlange, bis der Nachrichtenempfänger sich mit der Warteschlange verbindet. Dieses Messaging-Modell ist im traditionellen Sinne ein Lazy- oder Umfragemodell. In diesem Modell werden Nachrichten nicht automatisch an den Nachrichtenkonsumenten gesendet, sondern vom Nachrichtenkonsumenten aus der Warteschlange angefordert.
        2. Themen-Messaging-Modell veröffentlichen/abonnieren (Veröffentlichen/Sub):
        Mit diesem Messaging-Modell können Anwendungen eine einzelne Nachricht an mehrere Nachrichtenkonsumenten senden. In diesem Auslieferungsmodell ist der Nachrichtenzieltyp das Thema (d. h. die Destination-Interface-Implementierungsklasse wird von der Session-Interface-Implementierungsklasse erstellt, indem die createTopic-Methode aufgerufen und der Topic-Name eingegeben wird). Die Nachricht wird zunächst vom Nachrichtenproduzenten an ein bestimmtes Thema im Nachrichtenserver veröffentlicht, der sie dann an alle Verbraucher weitergibt, die das Thema abonniert haben. Themenziele unterstützen auch langfristige Abonnements. Ein langfristiges Abonnement bedeutet, dass der Verbraucher im Themenziel registriert ist, aber der Verbraucher inaktiv sein kann, wenn die Nachricht das Ziel erreicht. Die Nachricht wird empfangen, wenn der Nutzer wieder aktiv ist. Wenn keiner der Konsumenten in einem Themenziel registriert ist, speichert das Thema Nachrichten nur für inaktive Konsumenten, die ein Langzeitabonnement abgeschlossen haben. Im Gegensatz zum PTP-Messaging-Modell erlaubt das Pub/Sub-Messaging-Modell mehreren Topic-Abonnenten, dieselbe Nachricht zu empfangen. JMS hält die Nachricht zurück, bis alle Themen-Abonnenten sie erhalten haben. Das Pub/Sub-Messaging-Modell ist im Grunde ein Push-Modell. In diesem Modell werden Nachrichten automatisch ausgestrahlt, und Nachrichtenkonsumenten müssen nicht aktiv Themen anfordern oder abfragen, um neue Nachrichten zu erhalten.
        Die spezifischen Unterschiede sind wie folgt:

Art
Thema
Warteschlange
Überblick
Veröffentlichen Abonnieren Nachrichten Veröffentlichen Abonnementnachrichten
Punkt-zu-Punkt Punkt-zu-Punkt
Es gibt keinen Staat
Topic-Daten sind standardmäßig zustandslos.
Warteschlangendaten werden standardmäßig als Datei auf dem MQ-Server gespeichert, zum Beispiel wird Active MQ üblicherweise unter $AMQ_HOME\data\kr-store\data gespeichert. Es kann auch als Datenbankspeicher konfiguriert werden.
Integritätsgarantie
Es gibt keine Garantie, dass jedes vom Verlag veröffentlichte Datenstück vom Abonnenten akzeptiert wird.
Warteschlange garantiert, dass jedes Datenstück vom Empfänger empfangen werden kann.
ob die Botschaft verloren geht
Im Allgemeinen gilt: Wenn ein Verlag eine Nachricht zu einem Thema veröffentlicht, kann nur das Subreddit empfangen, das die Themenadresse hört. Wenn kein Sub zuhört, ist das Thema verloren.
Der Absender sendet eine Nachricht an die Ziel-Warteschlange, und der Empfänger kann Nachrichten auf dieser Warteschlange asynchron empfangen. Nachrichten in der Warteschlange gehen nicht verloren, wenn es vorerst keinen Empfänger gibt, der sie abnimmt.
Empfangsrichtlinie für Nachrichtenfreigabe
Bei der Eins-zu-viele-Nachrichtenveröffentlichungs- und Empfangsrichtlinie können mehrere Subreddits, die dieselbe Themenadresse ansprechen, Nachrichten des Verlags empfangen. Das Sub erhält die Benachrichtigung an den mq-Server
Eins-zu-eins-Nachrichtenveröffentlichungs- und Empfangsrichtlinien: Nachrichten, die vom Absender gesendet werden, können nur von einem Empfänger empfangen werden. Nachdem der Empfänger empfangen hat, informiert der MQ-Server den MQ-Server, dass er empfangen wurde, und der MQ-Server löscht oder führt andere Aktionen an den Nachrichten in der Warteschlange durch.





Vorhergehend:Unterschied zwischen Google AdSense und Google AdWords
Nächster:.net/c# Taobao durch Zugbatch setzt Crowd [Quellcode]
 Vermieter| Veröffentlicht am 29.03.2018 13:09:01 |

Der Warteschlangennachrichtenzustellungsprozess von JMS ist wie folgt:



Im Warteschlangenmodus veröffentlicht ein Publisher eine Nachricht, und die darunterliegenden Empfänger erhalten sie in Warteschlangenreihenfolge; zum Beispiel erhalten zwei Empfänger A und B bei 10 Veröffentlichungen insgesamt 10 Nachrichten ohne Duplikation.

Der Themenmessaging-Prozess von JMS ist unten dargestellt:



Für den Themenmodus gilt: Wenn ein Verlag eine Nachricht veröffentlicht und zwei Empfänger A und B abonnieren können, werden 10 Nachrichten veröffentlicht, und A und B erhalten jeweils 10 Nachrichten.
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