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

Utsikt: 8397|Svar: 0

Introduktion till de tre utbyteslägena (fanout, direkt och ämne) i RabbitMQ

[Kopiera länk]
Publicerad på 2018-03-29 14:30:45 | | | |
Införandet:
I RabbitMQ accepteras alla meddelanden som skickas in av producenter av Exchange, som sedan vidarebefordrar dem till Kö för lagring enligt en specifik policy
RabbitMQ erbjuder fyra typer av utbyten: fanout, direkt, topic och header
Header-läget används mindre i praktiken, och denna artikel jämför endast de tre första lägena.

1. Direkt utbyte


Alla meddelanden som skickas till Direct Exchange vidarebefordras till kön som anges i RouteKey.

1. Generellt kan du använda Exchange som följer med rabbitMQ:" (namnet på Exchange är en tom sträng, hädanefter kallad standard-Exchange).

2. I detta läge behövs inga bindningsoperationer på Exchange

3. En "RouteKey" krävs för meddelandehantering, vilket enkelt kan förstås som namnet på kön som ska skickas till.

4. Om könamnet som anges i RouteKey inte finns i vhost, släpps meddelandet.

2. Utväxling av utflykter


Alla meddelanden som skickas till Fanout-utbytet vidarebefordras till alla köer som är bundna till den Börsen.

1. Den kan förstås som ett mönster i routningstabellen

2. Detta läge kräver ingen RouteKey

3. Detta läge kräver att Exchange binds till Kö i förväg, en Exchange kan binda flera köer och en kö kan bindas till flera Exchanges.

4. Om Exchange som tog emot meddelandet inte är bunden till någon kö, släpps meddelandet.

3. Ämnesutbyte


Alla meddelanden som skickas till Topic Exchange vidarebefordras till alla köer som bryr sig om de ämnen som anges i RouteKey

1. Detta mönster är mer komplext, enkelt uttryckt, varje kö har sitt eget ämne av intresse, alla meddelanden har en "titel" (RouteKey), och Exchange kommer att vidarebefordra meddelandet till alla köer som kan fugue-matcha RouteKey för ämnet.

2. Detta läge kräver en RouteKey, kanske binder Exchange och Queue i förväg.

3. Vid bindning, ange ett ämne som kön bryr sig om, såsom "#.log.#" för att indikera att kön bryr sig om alla meddelanden relaterade till loggar (ett meddelande med RouteKey "MQ.log.error" vidarebefordras till kön).

4. "#" betyder 0 eller flera nyckelord, och "" betyder ett nyckelord. Till exempel, "log." Den kan matcha "log.warn", men kan inte matcha "log.warn.timeout"; Men "log.#" stämmer överens med ovanstående.

5. På samma sätt, om Exchange inte hittar en kö som matchar RouteKey, kommer det att släppa detta meddelande.




Föregående:Använd XPosed för att kringgå stark validering av Android SSL-certifikat
Nästa:.net/c# RabbitMQ-anslutningsavkoppling - frånkoppling och återanslutning
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