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

Rodinys: 3645|Atsakyti: 0

Išsamus RabbitMQ AMQP pranešimų architektūros paaiškinimas

[Kopijuoti nuorodą]
Paskelbta 2022-08-14 23:32:43 | | | |
Įvadas į AMQP protokolą

AMQP (Advanced Message Queuing Protocol) yra taikomojo lygmens standartinis protokolas, teikiantis vieningas pranešimų siuntimo paslaugas, ir yra atviras taikomųjų programų lygmens protokolų, skirtų į pranešimus orientuotai tarpinei programinei įrangai, standartas. AMQP yra tinklo protokolas, skirtas asinchroniniams pranešimams perduoti tarp procesų.

Šiuo protokolu pagrįsti klientai ir pranešimų tarpinė programinė įranga gali pristatyti pranešimus neribojant skirtingų klientų / tarpinės programinės įrangos produktų, skirtingų kūrimo kalbų ir kt.

Pagrindinės AMQP savybės yra orientuotos į pranešimus, eilėje, maršruto parinkimas (įskaitant peer-to-peer ir publikavimą / prenumeravimą), patikimumas ir saugumas. AMQP užtikrina pranešimų teikėjų ir klientų elgesį, įgalindamas tikrą skirtingų pardavėjų sąveiką.

Išsamus AMQP protokolo paaiškinimas
https://www.itsvse.com/thread-10347-1-1.html

Pranešimų nukreipimas

AMQP architektūroje bet koks sėkmingas pranešimų nukreipimas susideda iš trijų dalių:

  • "Exchange": kur gamintojai skelbia pranešimus
  • Eilės: kur vartotojai gauna pranešimus
  • Susiejimai: kaip pranešimai nukreipiami iš komutatoriaus į konkrečią eilę


Mainai ir įrišimai

Taigi, kaip pranešimas pasiekia eilę? Kai norite pristatyti pranešimą vartotojui, pirmiausia turite jį nusiųsti keitikliui. Tada, remdamasis tam tikromis taisyklėmis ar maršruto parinkimo raktais, "RabbitMQ" nuspręs, į kurią eilę turėtų pristatyti pranešimus.

Taisyklės arba maršruto parinkimo raktai leidžia susieti eilę su birža. "RabbitMQ" bandys suderinti pranešimo maršruto raktą su susiejime naudojamu raktu. Tada pranešimas pristatomas į eilę pagal vieną iš keturių mainų tipų: fanout, tema, tiesioginis, antraštė



Fanout mainai

Šio tipo mainai transliuoja visus gautus pranešimus į visas su juo susietas eiles. Visų su publikuotu pranešimu pateiktų maršruto parinkimo raktų bus nepaisoma.

Temų mainai

Šio tipo mainuose pranešimai siunčiami į eilę pagal maršruto parinkimo raktą. Tai reiškia, kad pranešimai, siunčiami į temų mainus, turi turėti konkretų maršruto parinkimo raktą, kuris turi būti žodžių sąrašas, atskirtas taškais (pvz., "acs.deviceoperations"). Formuluočių limitas yra 255 baitai.

Susiejimo raktas turi būti tokio paties formato kaip ir maršruto parinkimo raktas. Todėl pranešimai, siunčiami naudojant konkretų maršruto parinkimo raktą, bus pristatyti į kiekvieną eilę, susietą su atitinkančiu susiejimo raktu.

Susiejimo raktai leidžia naudoti šias išraiškos taisykles:

*(žvaigždutė) gali pakeisti tik vieną žodį
# (maiša) gali pakeisti nulį ar daugiau žodžių
Kai eilė yra susieta su "#" (maišos) susiejimo raktu, ji gaus visus pranešimus, nepriklausomai nuo maršruto parinkimo rakto, kaip ir "Fanout" fan-out mainuose.

Tiesioginiai mainai

Paskelbus eilę, ji busAutomatiškai susieti su jungikliu, kuris naudoja eilės pavadinimą kaip maršruto parinkimo raktą。 Jei maršruto parinkimo raktas sutampa, pranešimas pristatomas į atitinkamą eilę.

Antraštės mainai

Antraštės komutatoriai yra šiek tiek panašūs į temų jungiklius, tačiau skirtingai nei temų jungikliai, maršruto parinkimas pagrįstas maršruto raktais, o antraštės komutatorių maršruto parinkimo reikšmės yra pagrįstos pranešimo antraštės duomenimis.
Temos jungiklio nukreipimo raktas yra tik eilutė, o antraštės jungiklis gali būti sveikasis skaičius ir maiša.

(Pabaiga)





Ankstesnis:Išsamus AMQP protokolo paaiškinimas
Kitą:[Posūkis]. NET našumo optimizavimas - greitai pereiti sąrašų rinkinius
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