Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 8397|Válasz: 0

Bevezetés a RabbitMQ három cseremódjához (fanout, direct és topic)

[Linket másol]
Közzétéve 2018. 03. 29. 14:30:45 | | | |
Bevezetés:
A RabbitMQ-ban a gyártók által beküldött összes üzenetet a Exchange elfogadja, majd továbbítja azokat a Queue-nak tárolásra egy adott szabályzat szerint.
A RabbitMQ négyféle párbeszédet kínál: fanout, direct, topic és header
A fejléc módot a gyakorlatban kevésbé használják, és ez a cikk csak az első három módot hasonlítja össze.

1. Közvetlen csere


A Direct Exchange-nek küldött üzenetek továbbításra kerülnek a RouteKey által megadott sorba.

1. Általánosságban használhatod a rabbitMQ hozzátartozó Exchange-et:" (a Exchange neve egy üres láncsor, ezutáni alapértelmezett Exchange-ként ismert).

2. Ebben a módban nincs szükség semmilyen kötési műveletre a Exchange-en

3. Az üzenetküldéshez "RouteKey" szükséges, amely egyszerűen érthető a küldendő sor neveként.

4. Ha a RouteKey-ben megadott sornév nem létezik a vhostban, az üzenet elmarad.

2. Fanout csere


A Fanout Exchange-hez küldött üzenetek továbbításra kerülnek az adott Exchange-hez kötött összes sorhoz.

1. Értelmezhető úgy, mint az útvonal-táblázat mintázata

2. Ez a mód nem igényel RouteKey-t

3. Ez a mód előre megköveteli az Exchange és Queue kötését, egy Exchange több sort is köthet össze, és egy Queue több Exchange-hez köthető.

4. Ha az üzenetet fogadó Exchange nincs kötve egyetlen Queue-hoz sem, az üzenet elmarad.

3. Témacsere


A Topic Exchange-hez küldött üzenetek továbbításra kerülnek minden olyan sorhoz, amely érdeklődik a RouteKey által megadott témákkal

1. Ez a minta egyszerűen összetettebb, minden sornak megvan a maga aggodalom tárgya, minden üzenetnek van "címe" (RouteKey), és az Exchange továbbítja az üzenetet minden olyan sorhoz, amely fugálisan egyezik az érintett téma RouteKey-ével.

2. Ez a mód RouteKey-t igényel, amely esetleg előre köti a Exchange és Queue rendszereket.

3. Kötéskor adj meg egy olyan témát, amely a sorba számára fontos, például "#.log.#"-t, hogy jelezze, hogy a sorban minden naplóhoz kapcsolódó üzenet érdekli (egy üzenet, amelynek RouteKey "MQ.log.error" szerepel, továbbítódik a sorhoz).

4. "#" 0 vagy több kulcsszót jelent, a "" pedig egy kulcsszót. Például: "napló." Egyezik a "log.warn" kifejezéssel, de nem egyezik a "log.warn.timeout"-tal; De a "log.#" megfelel a fentieknek.

5. Hasonlóképpen, ha az Exchange nem talál olyan sort, amely egyezik az RouteKey-vel, akkor ezt az üzenetet eldobja.




Előző:Használd az XPosed-et, hogy megkerüld az Android SSL tanúsítványok erős validációját
Következő:.net/c# RabbitMQ kapcsolatmegszakítás – megszakítás és újracsatlakozás
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com