Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 14746|Antwoord: 1

Het verschil tussen activemq Queue en Topic is dat

[Link kopiëren]
Geplaatst op 14-07-2017 09:59:30 | | | |
Queue en Topic zijn twee berichtenmodellen die door JMS worden ondersteund:
        1. Point-to-point (PTP) wachtrijberichtenmodel:
        Met dit berichtenmodel kan één applicatie (d.w.z. de berichtproducent) een bericht naar een andere applicatie sturen (oftewel de berichtconsument). In dit leveringsmodel is het bestemmingstype van het bericht een wachtrij (dat wil zeggen, de implementatieklasse van de Destination interface wordt aangemaakt door de implementatieklasse van de Session interface door de createQueue-methode aan te roepen en de naam van de wachtrij door te geven). Het bericht wordt eerst afgeleverd aan een specifieke wachtrij aan de kant van de berichtserver, en vanaf daar wordt het bericht afgeleverd aan een consument die naar deze wachtrij luistert. Dezelfde wachtrij kan meerdere berichtproducenten en berichtgebruikers koppelen, maar een bericht kan slechts aan één berichtconsument worden geleverd. Als meerdere berichtgebruikers naar berichten in de wachtrij luisteren, bepaalt de JMS-berichtenserver welke berichtconsument het volgende bericht ontvangt op basis van het principe "wie het eerst komt, het eerst komt". Als geen berichtconsument naar de wachtrij luistert, blijft het bericht in de wachtrij totdat de berichtconsument verbinding maakt met de wachtrij. Dit berichtenmodel is een lui of pollingmodel in de traditionele zin. In dit model worden berichten niet automatisch naar de berichtconsument gestuurd, maar worden ze door de berichtconsument uit de wachtrij opgevraagd.
        2. Publiceer/abonneer (public/sub) themaberichtenmodel:
        Met dit berichtenmodel kunnen applicaties één enkel bericht naar meerdere berichtgebruikers sturen. In dit leveringsmodel is het bestemmingstype van het bericht het onderwerp (d.w.z. de implementatieklasse van de Destination interface wordt aangemaakt door de implementatieklasse van de Session interface door de createTopic-methode aan te roepen en de topicnaam door te geven). Het bericht wordt eerst gepubliceerd op een specifiek onderwerp in de berichtserver door de berichtproducent, die het vervolgens aan alle consumenten die zich op het onderwerp hebben geabonneerd. Onderwerpdoelen ondersteunen ook langdurige abonnementen. Een langlopend abonnement betekent dat de consument is ingeschreven voor het onderwerpdoel, maar de consument inactief kan zijn wanneer het bericht de bestemming bereikt. Het bericht wordt ontvangen wanneer de consument weer actief is. Als geen van de consumenten is ingeschreven bij een topicbestemming, behoudt het topic alleen berichten voor inactieve consumenten die zich hebben aangemeld voor een langlopend abonnement. In tegenstelling tot het PTP-berichtenmodel maakt het pub/sub-berichtenmodel het mogelijk dat meerdere onderwerpabonnees hetzelfde bericht ontvangen. JMS bewaart het bericht totdat alle onderwerpabonnees het ontvangen. Het pub/sub-berichtenmodel is in feite een push-model. In dit model worden berichten automatisch uitgezonden en hoeven berichtgebruikers niet actief onderwerpen aan te vragen of te peilen om nieuwe berichten te ontvangen.
        De specifieke verschillen zijn als volgt:

type
Onderwerp
Wachtrij
Overzicht
Publiceren Abonneer je berichten Publiceer abonnementsberichten
Punt-tot-punt Punt-tot-Punt
Er is geen staat
Topicdata is standaard stateless.
Wachtrijgegevens worden standaard als bestand opgeslagen op de MQ-server, bijvoorbeeld, Active MQ wordt meestal opgeslagen onder $AMQ_HOME\data\kr-store\data. Het kan ook worden geconfigureerd als een database-opslag.
Integriteitsgarantie
Er is geen garantie dat elk stuk gegevens dat door de uitgever wordt gepubliceerd, door de abonnee wordt geaccepteerd.
Queue garandeert dat elk stuk data door de ontvanger kan worden ontvangen.
of de boodschap verloren zal gaan
Over het algemeen geldt, wanneer een uitgever een bericht publiceert over een onderwerp, alleen de sub die naar het onderwerp luistert het bericht ontvangen. Als er geen sub luistert, gaat het onderwerp verloren.
De afzender stuurt een bericht naar de doelwachtrij, en de ontvanger kan berichten asynchroon ontvangen op deze wachtrij. Berichten in de wachtrij gaan niet verloren als er voorlopig geen ontvanger is om ze op te nemen.
Beleid voor ontvangst van berichten
One-to-many berichtpublicatie- en ontvangstbeleid: meerdere subs die hetzelfde onderwerpadres horen, kunnen berichten ontvangen die door de uitgever zijn gestuurd. De sub ontvangt de melding naar de mq-server
Beleidsregels voor het publiceren en ontvangen van één-op-één berichten, berichten die door een afzender worden verzonden, kunnen slechts door één ontvanger worden ontvangen. Nadat de ontvanger ontvangt, laat de MQ-server de MQ-server weten dat hij is ontvangen, en verwijdert de MQ-server of voert andere acties uit op de berichten in de wachtrij.





Vorig:Verschil tussen Google AdSense en Google AdWords
Volgend:.net/c# Taobao door treinbatch stelt menigte in [broncode]
 Huisbaas| Geplaatst op 29-03-2018 13:09:01 |

Het proces van de aflevering van wachtrijberichten van JMS verloopt als volgt:



Voor de wachtrijmodus publiceert een uitgever een bericht, en ontvangen de ontvangers hieronder het in wachtrijvolgorde; bijvoorbeeld, als er 10 berichten worden gepubliceerd, ontvangen twee ontvangers A en B in totaal 10 berichten zonder duplicatie.

Het onderwerpberichtenproces van JMS wordt hieronder getoond:



Voor de onderwerpmodus, als een uitgever een bericht publiceert en er zijn twee ontvangers A en B om zich te abonneren, dan worden er 10 berichten gepubliceerd en ontvangen A en B elk 10 berichten.
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com