Galab wanaagsan, Habr! Waxaan rabaa inaan wadaago buug-tixraac buug aqooneed oo aan ku guulaystay inaan ku ururiyo RabbitMQ kuna soo ururi talooyinka gaagaaban iyo gabagabada.
RabbitMQ. Qeybta 7. Faahfaahinta ku saabsan Xiriirinta iyo Chanel
RabbitMQ. Qaybta 8. RabbitMQ gudaha .NET
RabbitMQ. Qaybta 9. Korjoogteynta
Si kooban oo ku saabsan AMQP
AMQP (Advanced Message Queuing Protocol) waa borotokool furan oo fariimaha la isugu gudbiyo qaybaha nidaamka. Fikradda aasaasiga ah ayaa ah in nidaamyada hoose ee shakhsi ahaaneed (ama codsiyada madax-bannaan) ay ku beddelan karaan farriimaha si aan macquul ahayn iyada oo loo marayo dallaal AMQP, kaas oo fuliya dariiqa, suurtogalka ah dammaanad bixinta, qaybiya qulqulka xogta, oo ku biirta noocyada fariimaha la rabo.
Protocol AMQP waxay soo bandhigaysaa saddex fikradood:
exchange (goobta sarrifka ama sarrifka) - fariimaha ayaa loo diraa. Barta sarrifka qaybiya fariinta hal ama ka badan oo saf ah. iyada Jidadka fariimaha safka ku salaysan xiriiriyeyaasha la abuuray (binding) isaga iyo safka dhexdooda
queue ( safka ) - qaab-dhismeedka xogta ee diskka ama RAM in waxay kaydisaa xiriirinta fariimaha waxayna siisaa nuqullada fariimaha consumers (macaamiisha)
binding (binding) - xeer kaas wuxuu sheegayaa barta is dhaafsiga safka ay tahay in fariimahani galaan
Hab-maamuusku wuxuu ku socdaa dusha sare TCP / IP.
Si kooban oo ku saabsan Erlang
Koodhka isha mashruuca ayaa ku yaala kaydka at GitHub. Dhismaha RabbitMQ-server ku salaysan erlang iyo BEAM.
Erlang ay soo saartay shirkadu Ericsson badhtamihii 1980-meeyadii sida qaybsan, khalad-dulqaadka, nidaamka wakhtiga-dhabta ah ee codsiyada u baahan 99,999% wakhtiga la joogo. Erlang loo isticmaalo warshadaha kala duwan iyo codsiyada casriga ah, sida; WhatsApp. Waxaad wax badan ka akhrisan kartaa maqaalka Nashqada WhatsApp, oo Facebook ku iibsatay $19 bilyan
Si kooban oo ku saabsan RabbitMQ
BakayleMQ waa dilaal fariin il furan. Waxa ay farriimaha u marisaa dhammaan mabaadi'da aasaasiga ah ee borotokoolka AMQP lagu tilmaamay faahfaahinta. RabbitMQ waxay fulisaa oo ay kordhisaa hab-maamuuska AMQP.
Fikradda ugu weyn ee qaabka fariinta gudaha RabbitMQ wax waa producer (daabace) si toos ah fariimaha uguma soo diro safka Dhab ahaantii, iyo inta badan, madbacaduhu xitaa ma oga in farriinta la gayn doono saf kasta.
Taa baddalkeeda, daabacaaduhu wuxuu kaliya u diri karaa fariimaha sarrifka. Dhinaca kale, sarifku wuxuu helayaa farriimaha daabacayaasha, dhinaca kalena, waxay u dirtaa safafka. Sarifku waa inuu si sax ah u ogaadaa waxa lagu samaynayo fariinta la helayo. Ma in lagu daro saf gaar ah? Ma in lagu daro safaf badan? Ama fariinta waa in la iska indhatiraa.
Shaqo kooban RabbitMQ waxaa lagu tilmaami karaa sidan soo socota:
Daabacadu waxay fariin u dirtaa wax is dhaafsi gaar ah
Wax-is-weydaarsigu, markuu farriin helay, wuxuu u sii gudbiyaa hal ama in ka badan oo saf ah iyadoo la raacayo qawaaniinta u dhexeeya isaga iyo safka
Safku wuxuu kaydiyaa tixraaca farriintan. Fariinta lafteeda waxa lagu kaydiyaa RAM ama saxanka
Marka macaamilku diyaar u yahay inuu farriin ka helo safka, seerfarku wuxuu abuuraa nuqul fariinta isagoo adeegsanaya xiriiriye wuxuuna diraa
Furitaanka xiriir cusub ee hawlgal kasta si xoog leh ayaa loo niyad jabiyaa sida tan waxay horseedi doontaa kharashyo badan. Kanaalada waa inay sidoo kale ahaadaan kuwo joogto ah, laakiin khaladaad badan oo borotokool ah ayaa keena kanaalka inuu xidho, markaa cimriga kanaalka ayaa laga yaabaa inuu ka gaaban yahay kan isku xirka.
Halkee loo isticmaalaa RabbitMQ?
Marka la eego adeegyadda-yaraha, borotokoolka AMQP iyo hirgalinteeda RabbitMQ inta badan loo isticmaalo isdhexgalka asynchronous inta u dhaxaysa adeegyada.
In macnaha guud IIOT hab maamuuska AMQP iyo hirgalinteeda RabbitMQ loo isticmaalo isdhaafsiga xogta u dhaxaysa server-yada (server-server). Sidoo kale isticmaal plugin ah MQTT Plugin RabbitMQ kaas oo ah dhaqan gelinta hab-maamuuska MQTT gudbinta xogta u dhaxaysa dareemayaasha iyo server-ka ee xawaaraha hooseeya, jawiga daahsoonaanta sare (liiska buuxa ee borotokoolka la taageeray ayaa ku qoran website-ka mashruuca).
Maqaalka soo socda waxaan bilaabi doonaa inaan si faahfaahsan u fahanno Isweydaarsiga.