Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 8397|Svare: 0

Introduksjon til de tre utvekslingsmodusene (fanout, direkte og tema) i RabbitMQ

[Kopier lenke]
Publisert på 29.03.2018 14:30:45 | | | |
Introduksjon:
I RabbitMQ blir alle meldinger sendt inn av produsenter akseptert av Exchange, som deretter videresender dem til Kø for lagring i henhold til en spesifikk policy
RabbitMQ tilbyr fire typer utvekslinger: fanout, direkte, topic og header
Header-modusen brukes mindre i praksis, og denne artikkelen sammenligner kun de tre første modusene.

1. Direkte utveksling


Alle meldinger sendt til Direct Exchange videresendes til køen som er spesifisert i RouteKey.

1. Generelt kan du bruke Exchange som følger med rabbitMQ:" (navnet på Exchange er en tom streng, heretter kalt standard Exchange).

2. I denne modusen er det ikke nødvendig å utføre noen bindingsoperasjoner på Exchange

3. En "RouteKey" kreves for meldingsutveksling, som enkelt kan forstås som navnet på køen som skal sendes til.

4. Hvis kønavnet spesifisert i RouteKey ikke finnes i vhosten, blir meldingen droppet.

2. Utvekslingsutveksling


Alle meldinger sendt til Fanout-utvekslingen videresendes til alle køer knyttet til den utvekslingen.

1. Den kan forstås som et mønster i rutingtabellen

2. Denne modusen krever ikke RouteKey

3. Denne modusen krever at Exchange bindes til køen på forhånd, én Exchange kan binde flere køer, og én kø kan bindes til flere Exchanges.

4. Hvis Exchange som mottok meldingen ikke er bundet til noen kø, blir meldingen droppet.

3. Temautveksling


Alle meldinger som sendes til Topic Exchange videresendes til alle køer som bryr seg om emnene spesifisert i RouteKey

1. Dette mønsteret er mer komplekst, enkelt sagt, hver kø har sitt eget tema av bekymring, alle meldinger har en "tittel" (RouteKey), og Exchange vil videresende meldingen til alle køer som kan samsvare med RouteKey for det aktuelle temaet.

2. Denne modusen krever en RouteKey, kanskje binding av Exchange og Queue på forhånd.

3. Når du binder, oppgi et tema som køen bryr seg om, for eksempel "#.log.#" for å indikere at køen bryr seg om alle meldinger relatert til logger (en melding med RouteKey på "MQ.log.error" vil bli videresendt til køen).

4. "#" betyr 0 eller flere nøkkelord, og "" betyr ett nøkkelord. For eksempel, «log». Den kan matche "log.warn", men kan ikke matche "log.warn.timeout"; Men "log.#" stemmer over.

5. På samme måte, hvis Exchange ikke finner en kø som matcher RouteKey, vil den droppe denne meldingen.




Foregående:Bruk XPosed for å omgå sterk validering av Android SSL-sertifikater
Neste:.net/c# RabbitMQ-tilkobling frakoblet - frakobling og rekobling
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com