{"id":38171,"date":"2019-10-31T22:22:03","date_gmt":"2019-10-31T19:22:03","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1\/"},"modified":"2019-10-31T22:22:03","modified_gmt":"2019-10-31T19:22:03","slug":"ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1","title":{"rendered":"\u00cen\u021belegerea brokerilor de mesaje. Studiul mecanicii schimbului de mesaje prin ActiveMQ \u0219i Kafka. Capitolul 1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Salut tuturor!<\/p>\n<p>Am \u00eenceput traducerea unei c\u0103r\u021bi mici:<br \/>\n\u00ab<b><noindex><a rel=\"nofollow\" href=\"https:\/\/www.oreilly.com\/library\/view\/understanding-message-brokers\/9781492049296\/\">\u00cen\u021belegerea Mediatorilor de Mesaje<\/a><\/noindex><\/b>\u201e <br \/>\nautor: Jakub Korab, editur\u0103: O'Reilly Media, Inc., dat\u0103 de publicare: iunie 2017, ISBN: 9781492049296.<\/p>\n<p>Din introducerea c\u0103r\u021bii:<br \/>\n\u2026 <i>Aceast\u0103 carte v\u0103 va \u00eenv\u0103\u021ba s\u0103 g\u00e2ndi\u021bi despre sistemele de schimb de mesaje prin compararea \u0219i contrastarea a dou\u0103 tehnologii populare de mediere: Apache ActiveMQ \u0219i Apache Kafka. Vor fi prezentate exemple de utilizare \u0219i motivele dezvolt\u0103rii care au condus la faptul c\u0103 dezvoltatorii lor au adoptat abord\u0103ri complet diferite \u00een aceea\u0219i arie - schimbul de mesaje \u00eentre sisteme cu un broker intermediar. Vom explora aceste tehnologii de la zero \u0219i vom eviden\u021bia influen\u021ba diferitelor op\u021biuni de design pe parcurs. Ve\u021bi ob\u021bine o \u00een\u021belegere profund\u0103 a ambelor produse, cunoa\u0219terea modului \u00een care ar trebui \u0219i nu ar trebui utilizate, precum \u0219i \u00een\u021belegerea a ceea ce trebuie s\u0103 ave\u021bi \u00een vedere c\u00e2nd analiza\u021bi alte tehnologii de schimb de mesaje \u00een viitor.<\/i> \u2026\u201e<\/p>\n<p>P\u0103r\u021bile traduse p\u00e2n\u0103 \u00een prezent:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466385\">Capitolul 1. Introducere<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466585\">Capitolul 3. Kafka<\/a><\/noindex><\/p>\n<p>Voi publica capitolele finalizate pe m\u0103sur\u0103 ce le traduc.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>CAPITOLUL 1<\/h2>\n<p><\/p>\n<h2>Introducere<\/h2>\n<p>\nSchimbul de mesaje \u00eentre sisteme este una dintre cele mai pu\u021bin \u00een\u021belese domenii din IT. Ca dezvoltator sau arhitect, este posibil s\u0103 fi\u021bi familiarizat cu diverse cadre \u0219i baze de date. Cu toate acestea, este foarte probabil s\u0103 ave\u021bi doar o cunoa\u0219tere superficial\u0103 a modului \u00een care func\u021bioneaz\u0103 tehnologiile de schimb de mesaje bazate pe broker. Dac\u0103 a\u0219a v\u0103 sim\u021bi\u021bi, nu v\u0103 face\u021bi griji, sunte\u021bi \u00eentr-o companie bun\u0103.<\/p>\n<p>Oamenii interac\u021bioneaz\u0103 de obicei cu infrastructura de schimb de mesaje \u00eentr-un mod foarte limitat. Adesea, se conecteaz\u0103 la un sistem creat cu mult timp \u00een urm\u0103 sau descarc\u0103 un pachet de pe internet, \u00eel instaleaz\u0103 \u00een PROCE \u0219i \u00eencep s\u0103 scrie cod pentru acesta. Dup\u0103 ce infrastructura a fost lansat\u0103 \u00een PROCE, rezultatele pot fi ambigue: pierderi de mesaje \u00een caz de e\u0219ecuri, livr\u0103rile nu func\u021bioneaz\u0103 a\u0219a cum a\u021bi a\u0219teptat sau brokerii \u201eblocheaz\u0103\u201d produc\u0103torii dvs. sau nu trimit mesaje consumatorilor dvs.<\/p>\n<p>Pare cunoscut?<\/p>\n<p>Un scenariu comun este c\u0103 codul dvs. de mesagerie func\u021bioneaz\u0103 excelent, p\u00e2n\u0103 \u00een momentul \u00een care se opre\u0219te. Aceast\u0103 perioad\u0103 v\u0103 face s\u0103 pierde\u021bi vigilen\u021ba \u0219i v\u0103 ofer\u0103 un fals sentiment de siguran\u021b\u0103, ceea ce duce la un cod \u0219i mai mare bazat pe false impresii despre comportamentul fundamental al tehnologiei. C\u00e2nd ceva \u00eencepe s\u0103 mearg\u0103 prost, v\u0103 confrunta\u021bi cu o adev\u0103rat\u0103 realitate incomod\u0103: c\u0103, de fapt, nu a\u021bi \u00een\u021beles comportamentul de baz\u0103 al produsului sau compromisurile f\u0103cute de dezvoltatori, cum ar fi performan\u021ba vs. fiabilitatea sau tranzac\u021bionalitatea vs. scalabilitatea orizontal\u0103.<\/p>\n<p>F\u0103r\u0103 o \u00een\u021belegere profund\u0103 a modului \u00een care func\u021bioneaz\u0103 brokerii, oamenii fac afirma\u021bii care par ra\u021bionale despre sistemele lor de mesagerie, cum ar fi:<\/p>\n<ul>\n<li>Sistemul nu va pierde niciodat\u0103 mesaje<\/li>\n<li>Mesajele vor fi procesate \u00een mod secven\u021bial<\/li>\n<li>Ad\u0103ugarea consumatorilor va face sistemul mai rapid<\/li>\n<li>Mesajele vor fi livrate o singur\u0103 dat\u0103<\/li>\n<\/ul>\n<p>\nDin p\u0103cate, unele dintre aceste afirma\u021bii se bazeaz\u0103 pe presupuneri care sunt valabile doar \u00een anumite circumstan\u021be, \u00een timp ce altele sunt pur \u0219i simplu false.<\/p>\n<p>Aceast\u0103 carte v\u0103 va \u00eenv\u0103\u021ba s\u0103 g\u00e2ndi\u021bi critic despre sistemele de mesagerie bazate pe brokeri, compar\u00e2nd \u0219i contrast\u00e2nd dou\u0103 tehnologii populare de brokeri: Apache ActiveMQ \u0219i Apache Kafka. Vor fi prezentate exemple de utilizare \u0219i stimulente de dezvoltare, care au dus dezvoltatorii lor s\u0103 adopte abord\u0103ri complet diferite \u00een acela\u0219i domeniu \u2014 mesageria \u00eentre sisteme cu un broker intermediar. Vom explora aceste tehnologii de la zero \u0219i vom eviden\u021bia impactul diferitelor op\u021biuni de design pe parcurs. Ve\u021bi ob\u021bine o \u00een\u021belegere profund\u0103 a ambelor produse, o con\u0219tientizare a modului \u00een care ar trebui \u0219i nu ar trebui utilizate, \u0219i o claritate asupra aspectelor pe care ar trebui s\u0103 le lua\u021bi \u00een considerare atunci c\u00e2nd analiza\u021bi alte tehnologii de mesagerie \u00een viitor.<\/p>\n<p>\u00cenainte de a \u00eencepe, s\u0103 trecem prin no\u021biunile de baz\u0103.<\/p>\n<h3>Ce este un sistem de mesagerie \u0219i de ce este necesar<\/h3>\n<p>\nPentru ca dou\u0103 aplica\u021bii s\u0103 poat\u0103 comunica \u00eentre ele, mai \u00eent\u00e2i trebuie s\u0103 defineasc\u0103 interfa\u021ba. Definirea acestei interfe\u021be include alegerea transportului sau protocolului, cum ar fi HTTP, MQTT sau SMTP \u0219i acordul asupra formatelor mesajelor care vor fi schimbate \u00eentre sisteme. Acest proces poate fi strict, cum ar fi definirea unei scheme XML cu cerin\u021be pentru sarcina util\u0103 (payload) a mesajului, sau poate fi mult mai pu\u021bin formal, de exemplu, un acord \u00eentre doi dezvoltatori c\u0103 o anumit\u0103 parte a cererii HTTP va con\u021bine un identificator al clientului.<\/p>\n<p>At\u00e2ta timp c\u00e2t formatul mesajelor \u0219i ordinea \u00een care sunt trimise \u00eentre sisteme sunt convenite, ele vor putea interac\u021biona \u00eentre ele, f\u0103r\u0103 a se \u00eengrijora de implementarea celeilalte sisteme. Interiorul acestor sisteme, cum ar fi limbajul de programare sau cadrul utilizat, poate s\u0103 se schimbe \u00een timp. At\u00e2ta timp c\u00e2t contractul \u00eensu\u0219i este men\u021binut, interac\u021biunea poate continua f\u0103r\u0103 modific\u0103ri din partea cealalt\u0103. Aceste dou\u0103 sisteme sunt eficient decuplate (separate) prin aceast\u0103 interfa\u021b\u0103.<\/p>\n<p>Sistemele de mesagerie prev\u0103d, de obicei, implicarea unui intermediar \u00eentre cele dou\u0103 sisteme care interac\u021bioneaz\u0103, pentru a separa expeditorul de destinatari. \u00cen acest fel, sistemul de mesagerie permite expeditorului s\u0103 trimit\u0103 un mesaj, f\u0103r\u0103 a \u0219ti unde se afl\u0103 destinatarul, dac\u0103 acesta este activ sau c\u00e2te instan\u021be exist\u0103.<\/p>\n<p>S\u0103 analiz\u0103m c\u00e2teva analogii ale problemelor tipice pe care le rezolv\u0103 un sistem de mesagerie \u0219i s\u0103 introducem c\u00e2\u021biva termeni de baz\u0103.<\/p>\n<h4>Punct pe punct<\/h4>\n<p><\/p>\n<blockquote><p>Alexandra merge la oficiul po\u0219tal pentru a trimite un pachet lui Adam. Se apropie de fereastr\u0103 \u0219i \u00eenm\u00e2neaz\u0103 pachetul angajatului. Angajatul ia pachetul \u0219i \u00eei ofer\u0103 Alexandrei o chitan\u021b\u0103. Adam nu trebuie s\u0103 fie acas\u0103 \u00een momentul expedi\u021biei pachetului. Alexandra este sigur\u0103 c\u0103 pachetul va fi livrat lui Adam la un moment dat \u00een viitor \u0219i poate continua cu activit\u0103\u021bile sale. Mai t\u00e2rziu, Adam prime\u0219te pachetul.<\/p><\/blockquote>\n<p>Acesta este un exemplu de model de mesagerie <i>punct-pe-punct<\/i>. Oficiul po\u0219tal ac\u021bioneaz\u0103 aici ca un mecanism de distribuire a pachetelor, garant\u00e2nd c\u0103 fiecare pachet va fi livrat o singur\u0103 dat\u0103. Utilizarea oficiului po\u0219tal separ\u0103 actul de expediere a pachetului de livrarea acestuia.<br \/>\n\u00cen sistemele tradi\u021bionale de mesagerie, modelul \"punct-la-punct\" este implementat prin <i>de prioritate<\/i>. Coada func\u021bioneaz\u0103 ca un buffer FIFO (primul intrat, primul ie\u0219it), la care se poate abona un sau mai mul\u021bi consumatori. Fiecare mesaj este livrat doar <i>unui singur consumator abonat<\/i>. Cozile \u00eencearc\u0103 \u00een mod obi\u0219nuit s\u0103 distribuie mesajele \u00een mod echitabil \u00eentre consumatori. Numai un consumator va primi acest mesaj.<\/p>\n<p>La cozi se aplic\u0103 termenul \"fiabile\" (\"durable\"). <i>Fiabilitate <\/i> \u2014 acesta este un atribut al serviciului care garanteaz\u0103 c\u0103 sistemul de mesagerie va p\u0103stra mesajele \u00een absen\u021ba abona\u021bilor activi, p\u00e2n\u0103 c\u00e2nd un consumator se aboneaz\u0103 la coad\u0103 pentru livrarea mesajelor.<\/p>\n<p>Fiabilitatea este adesea confundat\u0103 cu <i>persisten\u021ba<\/i> \u0219i, de\u0219i ace\u0219ti doi termeni sunt interschimbabili, ei \u00eendeplinesc func\u021bii diferite. Persisten\u021ba determin\u0103 dac\u0103 sistemul de mesagerie stocheaz\u0103 un mesaj \u00eentr-un anumit tip de depozit \u00eentre primirea acestuia \u0219i livrarea c\u0103tre consumator. Mesajele trimise \u00eentr-o coad\u0103 pot fi sau nu persistente.<br \/>\nMesajele de tip \"punct-la-punct\" sunt utilizate atunci c\u00e2nd cazul de utilizare necesit\u0103 o ac\u021biune unic\u0103 asupra mesajului. De exemplu, se poate men\u021biona ad\u0103ugarea de fonduri \u00eentr-un cont sau plasarea unei comenzi de livrare. Vom discuta mai t\u00e2rziu de ce sistemul de mesagerie \u00een sine nu poate garanta livrarea unic\u0103 \u0219i de ce cozile pot asigura \u00een cel mai bun caz o garan\u021bie de livrare <i>cel pu\u021bin o dat\u0103<\/i>.<\/p>\n<h4>Publicare-Abonare<\/h4>\n<p><\/p>\n<blockquote><p>Gabriela formeaz\u0103 num\u0103rul conferin\u021bei. Atunci c\u00e2nd este conectat\u0103 la conferin\u021b\u0103, ea aude tot ce spune vorbitorul, \u00eempreun\u0103 cu ceilal\u021bi participan\u021bi la apel. C\u00e2nd se deconecteaz\u0103, pierde ceea ce s-a spus. La reconectare, continu\u0103 s\u0103 aud\u0103 ce se spune.<\/p><\/blockquote>\n<p> Acesta este un exemplu de model de mesagerie <i>publicare-abonare<\/i>. Conferin\u021ba ac\u021bioneaz\u0103 ca un mecanism de difuzare. Vorbitorul nu se \u00eengrijoreaz\u0103 c\u00e2\u021bi oameni sunt acum conecta\u021bi la apel \u2014 sistemul garanteaz\u0103 c\u0103 oricine se conecteaz\u0103 \u00een acel moment va auzi ceea ce se spune.<br \/>\n\u00cen sistemele tradi\u021bionale de mesagerie, modelul de schimb de mesaje \"publicare-abonare\" este implementat prin <i>topici<\/i>Topicul ofer\u0103 un mod de difuzare similar cu cel al mecanismului de conferin\u021b\u0103. Atunci c\u00e2nd un mesaj este trimis \u00een topic, acesta este distribuit <i>tuturor utilizatorilor abona\u021bi.<\/i>.<\/p>\n<p>Topicurile sunt de obicei <i>nefiabile (nondurable).<\/i>La fel ca un ascult\u0103tor care nu aude ceea ce se spune \u00eentr-un apel de conferin\u021b\u0103 atunci c\u00e2nd se deconecteaz\u0103, abona\u021bii la topic rateaz\u0103 orice mesaj trimis \u00een timpul \u00een care sunt offline. Din acest motiv, se poate spune c\u0103 topicurile ofer\u0103 o garan\u021bie de livrare <i>de cel mult o dat\u0103 <\/i>pentru fiecare consumator.<\/p>\n<p>Mesajele de tip \u201epublicare-abonare\u201d sunt de obicei folosite atunci c\u00e2nd mesajele au un caracter informativ, iar pierderea unui singur mesaj nu este foarte semnificativ\u0103. De exemplu, un topic poate transmite citirile de temperatur\u0103 de la un grup de senzori o dat\u0103 pe secund\u0103. Sistemul care este interesat de temperatura actual\u0103 \u0219i care se aboneaz\u0103 la topic, nu va fi \u00eengrijorat dac\u0103 rateaz\u0103 un mesaj \u2014 altul va veni \u00een cur\u00e2nd.<\/p>\n<h4>Modele hibride<\/h4>\n<p><\/p>\n<blockquote><p>Site-ul magazinului plaseaz\u0103 mesajele despre comenzi \u00eentr-o \u201ecoad\u0103 de mesaje\u201d. Principalul consumator al acestor mesaje este sistemul executiv. \u00cen plus, sistemul de audit trebuie s\u0103 aib\u0103 copii ale acestor mesaje despre comenzi pentru urm\u0103rirea ulterioar\u0103. Ambele sisteme nu pot rata mesaje, chiar dac\u0103 sistemele \u00een sine sunt indisponibile pentru o anumit\u0103 perioad\u0103 de timp. Site-ul nu trebuie s\u0103 \u0219tie despre celelalte sisteme.<\/p><\/blockquote>\n<p> Scenariile de utilizare necesit\u0103 adesea combinarea modelelor de schimb de mesaje \u201epublicare-abonare\u201d \u0219i \u201epunct-la-punct\u201d, de exemplu, c\u00e2nd mai multor sisteme le este necesar\u0103 o copie a mesajului \u0219i pentru a preveni pierderea mesajelor este necesar\u0103 at\u00e2t fiabilitatea, c\u00e2t \u0219i persisten\u021ba.<\/p>\n<p>\u00cen aceste cazuri, este necesar un destinatar (destination) (termen general pentru cozi \u0219i topicuri), care distribuie mesajele \u00een principal ca un topic, astfel \u00eenc\u00e2t fiecare mesaj s\u0103 fie trimis \u00eentr-un sistem separat interesat de aceste mesaje, dar \u0219i fiecare sistem poate avea mai mul\u021bi consumatori care primesc mesajele \u00een intrare, ceea ce seam\u0103n\u0103 mai mult cu o coad\u0103. Tipul de citire \u00een acest caz este <i>o dat\u0103 pentru fiecare parte interesat\u0103.<\/i>Aceste destina\u021bii hibride necesit\u0103 adesea fiabilitate (durabilitate), a\u0219a c\u0103, dac\u0103 consumatorul se deconecteaz\u0103, mesajele trimise \u00een acel moment sunt acceptate dup\u0103 reconectarea consumatorului.<\/p>\n<p>Modelele hibride nu sunt noi \u0219i pot fi aplicate \u00een majoritatea sistemelor de schimb de mesaje, inclusiv at\u00e2t ActiveMQ (prin adrese virtuale sau compuse, care combin\u0103 subiecte \u0219i cozi), c\u00e2t \u0219i Kafka (implicit, ca o proprietate fundamental\u0103 a designului adresei sale).<\/p>\n<p>Acum c\u0103 avem o terminologie de baz\u0103 \u0219i o \u00een\u021belegere a scopului pentru care ne-ar putea fi util un sistem de schimb de mesaje, s\u0103 trecem la detalii.<\/p>\n<p><b> Traducerea a fost realizat\u0103: <noindex><a rel=\"nofollow\" href=\"http:\/\/tele.gg\/middle_java\">tele.gg\/middle_java<\/a><\/noindex><\/b><\/p>\n<p>Partea urm\u0103toare tradus\u0103: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466585\">Capitolul 3. Kafka<\/a><\/noindex><\/p>\n<p><i>Continuarea urmeaz\u0103\u2026<\/i><br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466385\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041d\u0430\u0447\u0430\u043b \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043a\u043d\u0438\u0433\u0438: &#171;Understanding Message Brokers&#171;, \u0430\u0432\u0442\u043e\u0440: Jakub Korab, \u0438\u0437\u0434\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e: O&#8217;Reilly Media, Inc., \u0434\u0430\u0442\u0430 \u0438\u0437\u0434\u0430\u043d\u0438\u044f: June 2017, ISBN: 9781492049296. \u0418\u0437 \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043a \u043a\u043d\u0438\u0433\u0435: &#171;\u2026 \u042d\u0442\u0430 \u043a\u043d\u0438\u0433\u0430 \u043d\u0430\u0443\u0447\u0438\u0442 \u0432\u0430\u0441 \u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0430\u0442\u044c \u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u043e\u0431\u043c\u0435\u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c\u0438 \u043d\u0430 \u0431\u0440\u043e\u043a\u0435\u0440\u0430\u0445, \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u044f \u0438 \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044f \u0434\u0432\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0431\u0440\u043e\u043a\u0435\u0440\u043e\u0432: Apache ActiveMQ \u0438 Apache Kafka. \u0417\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0443\u0442 \u0438\u0437\u043b\u043e\u0436\u0435\u043d\u044b \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-38171","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041d\u0430\u0447\u0430\u043b \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043a\u043d\u0438\u0433\u0438: &quot;Understanding Message.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0431\u0440\u043e\u043a\u0435\u0440\u043e\u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439. \u0418\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0438 \u043e\u0431\u043c\u0435\u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c ActiveMQ \u0438 Kafka. \u0413\u043b\u0430\u0432\u0430 1 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041d\u0430\u0447\u0430\u043b \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043a\u043d\u0438\u0433\u0438: &quot;Understanding Message.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:22:03+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:22:03+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47\u00cen\u021belegerea brokerilor de mesaje. Studiul mecanicii schimbului de mesaje prin ActiveMQ \u0219i Kafka. Capitolul 1 | ProHoster","description":"Salut tuturor! Am \u00eenceput traducerea unei c\u0103r\u021bi mici: \"\u00cen\u021belegerea mesajelor.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0431\u0440\u043e\u043a\u0435\u0440\u043e\u0432 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439. \u0418\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0438 \u043e\u0431\u043c\u0435\u043d\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c ActiveMQ \u0438 Kafka. \u0413\u043b\u0430\u0432\u0430 1 | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041d\u0430\u0447\u0430\u043b \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043a\u043d\u0438\u0433\u0438: &quot;Understanding Message.","og:url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:22:03+00:00","article:modified_time":"2019-10-31T19:22:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38171","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 20:46:00","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:14:22","updated":"2026-01-23 20:46:00","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/38171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=38171"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/38171\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=38171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=38171"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=38171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}