Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 8397|Atsakyti: 0

Įvadas į tris RabbitMQ mainų režimus (fanout, tiesioginis ir tema)

[Kopijuoti nuorodą]
Paskelbta 2018-03-29 14:30:45 | | | |
Įvadas:
"RabbitMQ" visus gamintojų pateiktus pranešimus priima "Exchange", kuri juos persiunčia į "Queue" saugoti pagal konkrečią politiką
RabbitMQ siūlo keturių tipų mainus: fanout, tiesioginį, temą ir antraštę
Antraštės režimas praktiškai naudojamas mažiau, o šiame straipsnyje lyginami tik pirmieji trys režimai.

1. Tiesioginiai mainai


Visi pranešimai, siunčiami į Direct Exchange, persiunčiami į eilę, nurodytą RouteKey.

1. Apskritai, galite naudoti biržą, kuri pateikiama kartu su rabbitMQ:" (biržos pavadinimas yra tuščia eilutė, toliau vadinama numatytąja birža).

2. Šiuo režimu nereikia atlikti jokių įrišimo operacijų "Exchange"

3. Pranešimams reikalingas "RouteKey", kuris gali būti paprasčiausiai suprantamas kaip eilės, į kurią siunčiama, pavadinimas.

4. Jei "RouteKey" nurodyto eilės pavadinimo vhost nėra, pranešimas atmetamas.

2. Fanout mainai


Visi pranešimai, siunčiami į Fanout biržą, yra persiunčiami į visas eiles, susietas su ta birža.

1. Tai gali būti suprantama kaip maršruto lentelės modelis

2. Šiam režimui nereikia "RouteKey"

3. Šis režimas reikalauja iš anksto susieti "Exchange" su eile, viena "Exchange" gali susieti kelias eiles, o viena eilė gali būti susieta su keliomis biržomis.

4. Jei pranešimą gavusi birža nėra susieta su jokia eile, pranešimas nutraukiamas.

3. Temų mainai


Visi pranešimai, siunčiami į temų biržą, persiunčiami į visas eiles, kurioms rūpi RouteKey nurodytos temos

1. Šis modelis yra sudėtingesnis, paprasčiau tariant, kiekviena eilė turi savo susirūpinimą keliančią temą, visi pranešimai turi "pavadinimą" (RouteKey), o "Exchange" persiųs pranešimą visoms eilėms, kurios gali fuguely atitikti susirūpinimą keliančios temos RouteKey.

2. Šiam režimui reikalingas "RouteKey", galbūt iš anksto susiejantis "Exchange" ir "Queue".

3. Įrišdami pateikite eilei rūpimą temą, pvz., "#.log.#", kad nurodytumėte, kad eilėje rūpi visi pranešimai, susiję su žurnalais (į eilę bus persiųstas pranešimas su "MQ.log.error" maršruto raktu).

4. "#" reiškia 0 ar kelis raktinius žodžius, o "" reiškia vieną raktinį žodį. Pavyzdžiui, "žurnalas". Jis gali atitikti "log.warn", bet negali atitikti "log.warn.timeout"; Bet "log.#" atitinka aukščiau.

5. Panašiai, jei "Exchange" neras eilės, atitinkančios "RouteKey", šis pranešimas bus atmestas.




Ankstesnis:Naudokite "XPosed", kad apeitumėte stiprų "Android" SSL sertifikatų patvirtinimą
Kitą:.net/c# RabbitMQ ryšio atjungimas - atjungimas ir pakartotinis prijungimas
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com