Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 3645|Svar: 0

Detaljerad förklaring av RabbitMQ AMQP-meddelandearkitekturen

[Kopiera länk]
Publicerad på 2022-08-14 23:32:43 | | | |
Introduktion till AMQP-protokollet

AMQP (Advanced Message Queuing Protocol) är ett standardprotokoll på applikationslagret som tillhandahåller enhetliga meddelandetjänster och är en öppen standard för applikationslagersprotokoll designade för meddelandeorienterad middleware. AMQP är ett nätverksprotokoll för att skicka asynkrona meddelanden mellan processer.

Klienter och meddelandemellanvara baserade på detta protokoll kan leverera meddelanden utan att vara begränsade av olika klient-/mellanvaruprodukter, olika utvecklingsspråk osv.

De viktigaste egenskaperna hos AMQP är meddelandeorienterad, köplacerad, routing (inklusive peer-to-peer och publicish/subscribe), tillförlitlighet och säkerhet. AMQP upprätthåller beteendet hos meddelandeleverantörer och klienter, vilket möjliggör verklig interoperabilitet mellan olika leverantörer.

Detaljerad förklaring av AMQP-protokollet
https://www.itsvse.com/thread-10347-1-1.html

Routingmeddelanden

I AMQP-arkitekturen består varje lyckad meddelanderoutning av tre delar:

  • Utbyte: Där producenter publicerar meddelanden
  • Köer: Där konsumenter tar emot meddelanden
  • Bindningar: Hur meddelanden routas från switchen till en specifik kö


Utbyten och bindningar

Så hur når meddelandet kön? När du vill leverera ett meddelande till en konsument måste du först skicka det till utbytaren. Sedan, baserat på vissa regler eller routningsnycklar, kommer RabbitMQ att bestämma vilken kö den ska leverera meddelanden till.

Regler – eller routningsknappar – gör det möjligt att binda en kö till börsen. RabbitMQ kommer att försöka matcha routingnyckeln i meddelandet med den tangent som används i bindningen. Meddelandet levereras sedan till kön baserat på en av fyra utbytestyper: fanout, ämne, direkt, header



Utflyktsutbyte

Denna typ av utbyte sänder alla meddelanden den tar emot till alla köer som är bundna till den. Alla routningsnycklar som följer med det publicerade meddelandet kommer att ignoreras.

Ämnesutbyte

I denna typ av utbyte skickas meddelanden till en kö baserat på routningsnyckeln. Detta innebär att meddelanden som skickas till ämnesutbytet måste ha en specifik routningsnyckel, som måste vara en lista av ord, separerade med punkter (t.ex. 'acs.deviceoperations.'). Gränsen för formulering är 255 byte.

Bindningsnyckeln måste ha samma format som routningsnyckeln. Därför levereras meddelanden som skickas med en specifik routningsnyckel till varje kö som är bunden med en matchande bindningsnyckel.

Bindningsnycklar möjliggör följande uttrycksregler:

*(asterisk) kan bara ersätta ett ord
# (hash) kan ersätta noll eller fler ord
När en kö binds med en "#" (hash) bindningsnyckel kommer den att ta emot alla meddelanden oavsett routnyckeln, precis som vid en Fanout--out-utdelning.

Direktutbyte

När en kö deklareras kommer den att göra detBind automatiskt till en switch som använder könamnet som routningsknapp。 Om routningsnyckeln matchar levereras meddelandet till rätt kö.

Headerutbyte

Headerswitchar liknar till viss del ämnesswitchar, men till skillnad från topicswitchar baseras routingen på ruttnycklar, och routningsvärdena för headerswitchar baseras på meddelandets headerdata.
Ämnesbytets routingnyckel är bara en sträng, medan headerswitchen kan vara ett heltal och en hash.

(Slut)





Föregående:Detaljerad förklaring av AMQP-protokollet
Nästa:[Vänd]. NET-prestandaoptimeringar – snabbt genomsök listsamlingar
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com