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

Vaade: 3645|Vastuse: 0

RabbitMQ AMQP sõnumiarhitektuuri üksikasjalik selgitus

[Kopeeri link]
Postitatud 14.08.2022 23:32:43 | | | |
Sissejuhatus AMQP protokolli

AMQP (Advanced Message Queuing Protocol) on rakenduskihi standardprotokoll, mis pakub ühtseid sõnumiteenuseid ning on avatud standard rakenduskihi protokollidele, mis on mõeldud sõnumipõhisele vahendustarkvarale. AMQP on võrguprotokoll asünkroonsete sõnumite edastamiseks protsesside vahel.

Selle protokolli põhjal töötavad kliendid ja sõnumivahevara suudavad sõnumeid edastada ilma, et neid piiraksid erinevad kliendi/vahendustarkvara tooted, erinevad arenduskeeled jne.

AMQP peamised omadused on sõnumipõhine, järjekorras, marsruutimine (sh peer-to-peer ja publish/subscribe), töökindlus ja turvalisus. AMQP rakendab sõnumipakkujate ja klientide käitumist, võimaldades erinevate tarnijate vahel tõelist koostalitlusvõimet.

AMQP protokolli üksikasjalik selgitus
https://www.itsvse.com/thread-10347-1-1.html

Marsruutimissõnumid

AMQP arhitektuuris koosneb iga edukas sõnumite marsruutimine kolmest osast:

  • Vahetus: Kus produtsendid avaldavad sõnumeid
  • Järjekorrad: Kus tarbijad saavad sõnumeid
  • Sidumised: Kuidas sõnumid suunatakse lülitist kindlasse järjekorda


Vahetused ja sidumised

Kuidas siis sõnum järjekorda jõuab? Iga kord, kui soovid sõnumi tarbijale edastada, pead selle esmalt vahetajale saatma. Seejärel otsustab RabbitMQ kindlate reeglite või marsruutimisvõtmete põhjal, millisesse järjekorda sõnumeid edastada.

Reeglid – ehk marsruutimisvõtmed – võimaldavad siduda järjekorra vahetusega. RabbitMQ püüab sobitada sõnumis oleva marsruudivõti sidumises kasutatud võtmega. Sõnum toimetatakse järjekorda nelja vahetustüübi alusel: fanout, teema, otse, päis



Fanout Exchange

Seda tüüpi vahetus edastab kõik saadud sõnumid kõigile temaga seotud järjekordadele. Kõik marsruutimisvõtmed, mis on antud avaldatud sõnumiga, jäetakse tähelepanuta.

Teemavahetus

Sellises vahetuses saadetakse sõnumid järjekorda vastavalt marsruutimisvõtmele. See tähendab, et teemavahetusele saadetud sõnumitel peab olema konkreetne marsruutimisvõti, mis peab olema sõnade nimekiri, mis on eraldatud punktidega (nt 'acs.deviceoperations.'). Sõnastuspiirang on 255 baiti.

Sidumisvõti peab olema samas formaadis kui marsruutimisvõti. Seetõttu toimetatakse igasse järjekorda seotud vastava sidumisvõtmega saadetud sõnumid vastava sidumisvõtmega.

Sidumisvõtmed võimaldavad järgmisi väljendusreegleid:

*(tärn) võib asendada ainult ühte sõna
# (räsi) võib asendada nulli või enam sõna
Kui järjekord on seotud "#" (räsi) sidumisvõtmega, saab ta kõik sõnumid vastu sõltumata marsruutimisvõtmest, täpselt nagu Fanout fan-out vahetuses.

Otsene vahetus

Kui järjekord on välja kuulutatud, siis see juhtubSiduge automaatselt lülitiga, mis kasutab järjekorra nime marsruutimisvõtmena。 Kui marsruutimisvõti klapib, toimetatakse sõnum vastavasse järjekorda.

Päise vahetus

Päislülitid on mõnevõrra sarnased teemalülititele, kuid erinevalt teemalülititest põhineb marsruutimine marsruutivõtmetel ning päislülitite marsruutimisväärtused põhinevad sõnumi päise andmetel.
Teemalüliti marsruutimisvõti on ainult string, samas kui päise lüliti võib olla täisarv ja räsi.

(Lõpp)





Eelmine:AMQP protokolli üksikasjalik selgitus
Järgmine:[Pööre]. NET-i jõudluse optimeerimised – kiire läbimine Listi kogudes
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