See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 8397|Vastuse: 0

Sissejuhatus RabbitMQ kolme vahetusrežiimi (fanout, otse ja teema) kohta

[Kopeeri link]
Postitatud 29.03.2018 14:30:45 | | | |
Sissejuhatus:
RabbitMQ-s aktsepteerib Exchange kõik tootjate saadetud sõnumid, mis seejärel suunavad need Queue'sse salvestamiseks vastavalt kindlale poliitikale
RabbitMQ pakub nelja tüüpi vahetusi: fanout, otsene, teema ja päis
Päisrežiimi kasutatakse praktikas vähem ning see artikkel võrdleb ainult esimesi kolme režiimi.

1. Otsene vahetus


Kõik Direct Exchange'ile saadetud sõnumid suunatakse RouteKey's määratud järjekorda.

1. Üldiselt saad kasutada Exchange'i, mis tuleb koos rabbitMQ:" (Exchange'i nimi on tühi string, edaspidi vaikimisi Exchange).

2. Selles režiimis ei ole vaja Exchange'il sidumistoiminguid teha

3. Sõnumite saatmiseks on vaja "RouteKey", mida saab lihtsalt mõista kui järjekorra nime, kuhu saadetakse.

4. Kui RouteKey's määratud järjekorra nimi vhostis ei eksisteeri, eemaldatakse sõnum.

2. Fännivahetus


Kõik sõnumid, mis saadetakse Fanout Exchange'ile, suunatakse kõigile selle vahetusega seotud järjekordadele.

1. Seda võib mõista kui marsruutimistabeli mustrit

2. See režiim ei nõua RouteKey'd

3. See režiim nõuab vahetuse ja järjekorra eelnevalt sidumist, üks vahetus võib siduda mitu järjekorda ja üks järjekord saab olla seotud mitme vahetusega.

4. Kui sõnumi vastu võtnud vahetus ei ole seotud ühegi järjekorraga, katkestatakse sõnum.

3. Teemavahetus


Kõik Teemavahetusele saadetud sõnumid suunatakse edasi kõigile järjekordadele, mis hoolivad RouteKey's määratud teemadest

1. See muster on lihtsamalt öeldes keerukam, igal järjekorral on oma murekoht, kõigil sõnumitel on "pealkiri" (RouteKey) ning Exchange edastab sõnumi kõigile järjekordadele, mis võivad ebamääraselt vastata teema RouteKey'le.

2. See režiim nõuab RouteKey'd, võib-olla sidudes Exchange'i ja Queue'd ette.

3. Sidumisel lisa teema, mis järjekorda korda läheb, näiteks "#.log.#", mis näitab, et järjekord hoolib kõigist logidega seotud sõnumitest (sõnum RouteKey'ga "MQ.log.error" edastatakse järjekorda).

4. "#" tähendab 0 või mitut märksõna ja "" tähendab ühte märksõna. Näiteks "logi". See võib sobitada "log.warn", kuid ei saa sobitada "log.warn.timeout"; Aga "log.#" vastab eelnevale.

5. Samamoodi, kui Exchange ei leia järjekorda, mis vastaks RouteKey'le, jätab ta selle teate.




Eelmine:Kasuta XPosed'i, et mööda hiilida tugevast Androidi SSL-sertifikaatide valideerimisest
Järgmine:.net/c# RabbitMQ ühenduse katkestus – ühenduse katkestamine ja taasühendamine
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com