{"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\/et\/blog\/administrirovanie\/ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1","title":{"rendered":"S\u00f5numivahendite m\u00f5istmine. Teadevahetuse mehhaanika uurimine ActiveMQ ja Kafka abil. Peat\u00fckk 1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Tere k\u00f5igile!<\/p>\n<p>Hakkasin t\u00f5lkima v\u00e4ikest raamatut:<br \/>\n\u00ab<b><noindex><a rel=\"nofollow\" href=\"https:\/\/www.oreilly.com\/library\/view\/understanding-message-brokers\/9781492049296\/\">S\u00f5numivahendite m\u00f5istmine<\/a><\/noindex><\/b>&#171; <br \/>\nautor: Jakub Korab, kirjastus: O'Reilly Media, Inc., v\u00e4ljaandmise kuup\u00e4ev: juuni 2017, ISBN: 9781492049296.<\/p>\n<p>Raamatust: sissejuhatus:<br \/>\n\u00ab\u2026 <i>See raamat \u00f5petab teid m\u00f5tlema s\u00f5numite vahetamise s\u00fcsteemidele, v\u00f5rreldes ja vastandades kahte populaarset vahendite tehnoloogiat: Apache ActiveMQ ja Apache Kafka. Siin tuuakse v\u00e4lja kasutusn\u00e4iteid ja arendusi, mis viisid selleni, et nende arendajad kasutasid t\u00e4iesti erinevaid l\u00e4henemisviise \u00fche ja sama ala \u2014 s\u00f5numite vahetamine s\u00fcsteemide vahel vahendite kaudu. Uurime neid tehnoloogiaid nullist ning keskendume erinevate disainivalikute dopaatetusele selle tee jooksul. Saate s\u00fcgava arusaama m\u00f5lemast tootest, m\u00f5istate, kuidas neid peaks ja ei tohiks kasutada, ning m\u00f5istate, millele tuleks tulevikus t\u00e4helepanu p\u00f6\u00f6rata, kui kaalute muid s\u00f5numite vahetamise tehnoloogiaid.<\/i> \u2026\u00bb<\/p>\n<p>T\u00f5lgitud seni:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466385\">Peat\u00fckk 1. Sissejuhatus<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466585\">Peat\u00fckk 3. Kafka<\/a><\/noindex><\/p>\n<p>Avaldan l\u00f5petatud peat\u00fckke t\u00f5lke k\u00e4igus.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>PEAT\u00dcKK 1<\/h2>\n<p><\/p>\n<h2>Sissejuhatus<\/h2>\n<p>\nS\u00fcsteemidevaheline s\u00f5numite vahetamine on \u00fcks v\u00e4heseid arusaamatu valdkondi IT-s. Arendajana v\u00f5i arhitektil v\u00f5ite olla h\u00e4sti tuttav erinevate raamistike ja andmebaasidega. Kuid t\u00f5en\u00e4oliselt on teil ainult kiire tutvus sellega, kuidas toimivad brokeritel p\u00f5hinevad s\u00f5numite tehnoloogiad. Kui see t\u00f5epoolest nii on, siis \u00e4rge muretsege, te ei ole \u00fcksi.<\/p>\n<p>Inimesed puutuvad tavaliselt s\u00f5numite vahetamise infrastruktuuriga kokku v\u00e4ga piiratud m\u00e4\u00e4ral. Sageli \u00fchendatakse nad s\u00fcsteemiga, mis on loodud ammu, v\u00f5i laetakse internetist alla distributiiv ja paigaldatakse PROMsse, enne kui nad hakkavad selle jaoks koodi kirjutama. P\u00e4rast infrastruktuuri \u00fclesseadmist PROMiss v\u00f5ivad tulemused olla ebamugavad: s\u00f5numite kadumine t\u00f5rgete korral, saatmine ei t\u00f6\u00f6ta nii, nagu ootasite, v\u00f5i vahendajad \u201ehingavad\u201d teie tootjad kinni v\u00f5i ei saada s\u00f5numeid teie tarbijatele.<\/p>\n<p>Kas see k\u00f5lab tuttavalt?<\/p>\n<p>Levinud stsenaarium on see, et teie s\u00f5numivahetuse kood t\u00f6\u00f6tab suurep\u00e4raselt, kuni see \u00fchel hetkel enam ei t\u00f6\u00f6ta. See periood uinutab ettevaatlikkuse ja annab vale turvatunde, mis toob kaasa veelgi rohkem koodi, mis p\u00f5hineb valehinnangutel tehnoloogia p\u00f5hilise k\u00e4itumise kohta. Kui midagi hakkab valesti minema, seisate silmitsi ebamugava t\u00f5ega: te ei m\u00f5istnud t\u00f5eliselt toote p\u00f5hik\u00e4itumist v\u00f5i autori valitud kompromisse, nagu n\u00e4iteks j\u00f5udlust versus usaldusv\u00e4\u00e4rsust v\u00f5i tehingulisust versus horisontaalset skaleeritavust.<\/p>\n<p>Ilma s\u00fcgava arusaamata sellest, kuidas maaklerid t\u00f6\u00f6tavad, teevad inimesed n\u00e4iliselt m\u00f5istlikke v\u00e4iteid nende s\u00f5numivahetuss\u00fcsteemide kohta, nagu:<\/p>\n<ul>\n<li>S\u00fcsteem ei kaota kunagi s\u00f5numeid<\/li>\n<li>S\u00f5numid t\u00f6\u00f6deldakse j\u00e4rjestikku<\/li>\n<li>Tarbijate lisamine kiirendab s\u00fcsteemi<\/li>\n<li>S\u00f5numid tarnitakse ainult korra<\/li>\n<\/ul>\n<p>\nKahjuks p\u00f5hinevad m\u00f5ned neist v\u00e4idetest eeldustel, mis kehtivad ainult teatud tingimustel, samas kui teised on lihtsalt valed.<\/p>\n<p>See raamat \u00f5petab teid m\u00f5tlema maaklerip\u00f5histe s\u00f5numivahetuss\u00fcsteemide \u00fcle, v\u00f5rreldes ja vastandades kahte populaarset maakleritehnoloogiat: Apache ActiveMQ ja Apache Kafka. Siin tutvustatakse kasutusjuhtumeid ja arendusturge, mis on viinud selleni, et nende arendajad on valinud t\u00e4iesti erinevad l\u00e4henemisviisid samale valdkonnale \u2013 s\u00fcsteemide vaheline s\u00f5numivahetus vahemaakleriga. K\u00e4sitleme neid tehnoloogiaid algusest ning toome esile erinevate disainiv\u00f5imaluste m\u00f5ju sellel teekonnal. Saate s\u00fcgava arusaama m\u00f5lemast tootest, arusaama sellest, kuidas neid tuleks ja ei tohiks kasutada, ning arusaama sellest, millele tuleks tulevikus teiste s\u00f5numivahetustehnoloogiate kaalumisel t\u00e4helepanu p\u00f6\u00f6rata.<\/p>\n<p>Enne kui alustada, v\u00f5tame \u00fclevaate p\u00f5hialustest.<\/p>\n<h3>Mis on s\u00f5numivahetuss\u00fcsteem ja miks see vajalik on<\/h3>\n<p>\nKaks rakendust saavad omavahel suhelda ainult siis, kui nad on esmalt m\u00e4\u00e4ranud liidese. Selle liidese m\u00e4\u00e4ramine h\u00f5lmab transpordi v\u00f5i protokolli nagu HTTP, MQTT v\u00f5i SMTP valimist ning s\u00fcsteemide vahel vahetatavate s\u00f5numiformaatide kokkuleppimist. See v\u00f5ib olla range protsess, nagu XML-skeemi m\u00e4\u00e4ramine s\u00f5numi kasuliku koormuse (payload) n\u00f5uete jaoks, v\u00f5i v\u00f5ib see olla palju v\u00e4hem ametlik, n\u00e4iteks kahe arendaja kokkulepe, et teatud osa HTTP-p\u00e4ringust sisaldab kliendi identifikaatorit.<\/p>\n<p>Niikaua kui s\u00f5numiformaadid ja nende saatmise j\u00e4rjekord on s\u00fcsteemide vahel kokku lepitud, saavad nad omavahel suhelda, muretsemata teise s\u00fcsteemi rakenduse \u00fcle. Nende s\u00fcsteemide sisemus, nagu programmeerimiskeel v\u00f5i kasutatud raamistik, v\u00f5ib ajas muutuda. Seni, kuni leping ise p\u00fcsib, v\u00f5ivad nad j\u00e4tkata koost\u00f6\u00f6d muutumatuna teiselt poolt. Need kaks s\u00fcsteemi on selle liidese kaudu t\u00f5husalt eraldatud.<\/p>\n<p>S\u00f5numite vahetamise s\u00fcsteemid h\u00f5lmavad tavaliselt vahendajat kahe s\u00fcsteemi vahel, mis suhtlevad, et edasiselt eraldada saatja saajast v\u00f5i saajatest. Selle t\u00f5ttu v\u00f5imaldab s\u00f5numite vahetamise s\u00fcsteem saatjal saata s\u00f5numi, teadmata, kus saaja asub, kas ta on aktiivne v\u00f5i kui palju on tema koopiaid.<\/p>\n<p>Vaadakem m\u00f5ningaid analooge probleemide t\u00fc\u00fcpide kohta, mida s\u00f5numite vahetamise s\u00fcsteem lahendab, ja tutvustame m\u00f5ningaid p\u00f5hiterme.<\/p>\n<h4>Point-to-Point<\/h4>\n<p><\/p>\n<blockquote><p>Alexandra l\u00e4heb posti, et saata Adamile pakk. Ta l\u00e4heneb aknale ja annab t\u00f6\u00f6tajale paki. T\u00f6\u00f6taja v\u00f5tab paki ja annab Alexandrale kviitungi. Adamil ei pea olema kodus paki saatmise ajal. Alexandra on kindel, et pakk toimetatakse Adami k\u00e4tte mingil hetkel tulevikus ja ta saab oma asjadega edasi tegeleda. Hiljem, millegi p\u00e4rast, saab Adam paki.<\/p><\/blockquote>\n<p>See on n\u00e4ide s\u00f5numite vahetamise mudelist <i>punkt-punkt<\/i>. Postkontor toimib siin pakkide jagamise mehhanismina, tagades, et iga pakk toimetatakse kohale vaid \u00fcks kord. Postkontori kasutamine eraldab paki saatmise teo selle k\u00e4tte toimetamisest.<br \/>\nKlassikalistes s\u00f5numivahetuss\u00fcsteemides rakendatakse \u201epunkt-punkt\u201c mudelit l\u00e4bi <i>j\u00e4rjekordade<\/i>. J\u00e4rjekord toimib nagu FIFO (esimene sisenenud, esimene v\u00e4ljunud) puhvers\u00fcsteem, mis v\u00f5ib olla \u00fchele v\u00f5i mitmele tarbijale tellitud. Iga s\u00f5num toimetatakse ainult <i>\u00fchele tellitud tarbijale<\/i>. J\u00e4rjekorrad p\u00fc\u00fcavad tavaliselt s\u00f5numeid tarbijate vahel \u00f5iglaselt jaotada. Ainult \u00fcks tarbija saab antud s\u00f5numi.<\/p>\n<p>J\u00e4rjekordadele rakendatakse m\u00f5istet \u201eusaldusv\u00e4\u00e4rsed\u201c (\u201edurable\u201c). <i>Usaldusv\u00e4\u00e4rsus <\/i> \u2014 see on teenuse omadus, mis tagab, et s\u00f5numivahetuss\u00fcsteem salvestab s\u00f5numid, kui aktiivseid tellijaid ei ole, kuni tarbija tellib j\u00e4rjekorra s\u00f5numite kohaletoimetamiseks.<\/p>\n<p>Usaldusv\u00e4\u00e4rsust segatakse sageli kokku <i>p\u00fcsivusega<\/i> , ja kuigi need kaks m\u00f5istet on omavahel vahetatavad, t\u00e4idavad need erinevaid funktsioone. P\u00fcsivus m\u00e4\u00e4rab, kas s\u00f5num salvestatakse s\u00f5numivahetuss\u00fcsteemi mingisugusesse salvestusse enne selle vastuv\u00f5tmist ja tarnimist tarbijale. J\u00e4rjekorda saadetavad s\u00f5numid v\u00f5ivad olla kas p\u00fcsivad v\u00f5i mitte.<br \/>\nPunkt-punkt s\u00f5numivahetust kasutatakse, kui kasutusjuht n\u00f5uab s\u00f5numiga \u00fchekordset toimingut. N\u00e4iteks v\u00f5ib tuua raha \u00fclekande kontole v\u00f5i tellimuse esitamise kohaletoimetamiseks. Arutame hiljem, miks s\u00f5numivahetuss\u00fcsteem iseenesest ei suuda tagada \u00fchekordset kohaletoimetamist ja miks j\u00e4rjekorrad saavad tagada kohaletoimetamise <i>v\u00e4hemalt korra<\/i>.<\/p>\n<h4>Avaldaja-Tellijate<\/h4>\n<p><\/p>\n<blockquote><p>Gabriella helistab konverentsi numbrile. Kui ta on konverentsiga \u00fchendatud, kuulab ta k\u00f5ike, mida r\u00e4\u00e4gib esineja, koos teiste k\u00f5neosalistega. Kui ta katkestab \u00fchenduse, j\u00e4\u00e4b talle kuulmata, mida \u00f6eldi. Ta j\u00e4tkab kuulamist, kui ta uuesti \u00fchendub.<\/p><\/blockquote>\n<p> See on n\u00e4ide s\u00f5numite vahetamise mudelist <i>publikatsiooni-tellimus<\/i>. Konverentsi side toimib nagu ringh\u00e4\u00e4lingumehhanism. R\u00e4\u00e4kija ei muretse, kui palju inimesi hetkel k\u00f5nele on \u2014 s\u00fcsteem tagab, et iga\u00fchel, kes on sel hetkel \u00fchenduses, on kuulda, mida r\u00e4\u00e4gitakse.<br \/>\nKlassikalistes s\u00f5numivahetuss\u00fcsteemides rakendatakse \u201epublikatsiooni-tellimuse\u201c s\u00f5numivahetuse mudelit l\u00e4bi <i>teemade<\/i>Teema pakub laiaulatuslikku v\u00f5imalust nagu konverentsk\u00f5ne mehhanism. Kui teade saadetakse teemasse, jaotatakse see <i>k\u00f5ikidele tellinud kasutajatele.<\/i>.<\/p>\n<p>Teemad on tavaliselt <i>ebakindlad (nondurable).<\/i>Nagu kuulaja, kes ei kuule, mis konverentsik\u00f5nes \u00f6eldakse, kui kuulaja end v\u00e4lja l\u00fclitab, j\u00e4tavad teema tellijad vahele k\u00f5ik s\u00f5numid, mis saadetakse just siis, kui nad on offline. Seet\u00f5ttu saab \u00f6elda, et teemad pakuvad kohaletoimetamise garantii <i>kuni \u00fche korra <\/i>iga tarbija jaoks.<\/p>\n<p>Re\u017eiimip\u00f5hine s\u00f5numite vahetus kasutatakse tavaliselt siis, kui s\u00f5numid on informatiivsed ning \u00fche s\u00f5numi kadumine ei ole kuigi oluline. N\u00e4iteks v\u00f5ib teema edastada temperatuurin\u00e4idud sensorigruppidelt kord sekundis. S\u00fcsteem, mis huvitub praegusest temperatuurist ja mis on selle teema tellija, ei muretseks, kui ta s\u00f5numi vahele j\u00e4tab \u2014 j\u00e4rgmine saab varsti.<\/p>\n<h4>H\u00fcbriidsed mudelid<\/h4>\n<p><\/p>\n<blockquote><p>Poosiv veebileht paigutab tellimuste s\u00f5numid \"s\u00f5numite j\u00e4rjekorda\". Nende s\u00f5numite peamine tarbija on t\u00e4ideviimise s\u00fcsteem. Lisaks peab auditeerimiss\u00fcsteem omama koopiad neist tellimuste s\u00f5numitest edasiseks j\u00e4lgimiseks. M\u00f5lemad s\u00fcsteemid ei saa s\u00f5numeid vahele j\u00e4tta, isegi kui s\u00fcsteemid ei ole m\u00f5neks ajaks k\u00e4ttesaadavad. Veebileht ei peaks teadma muudest s\u00fcsteemidest.<\/p><\/blockquote>\n<p> Kasutusskeemid n\u00f5uavad sageli s\u00f5numite vahetuse mudelite \"publikatsioon-tellimine\" ja \"punkt-punkt\" kombineerimist, n\u00e4iteks siis, kui mitmed s\u00fcsteemid vajavad s\u00f5numi koopiaid, ja s\u00f5numi kaotamise v\u00e4ltimiseks on vajalik nii usaldusv\u00e4\u00e4rsus kui ka p\u00fcsivus.<\/p>\n<p>Neis olukordades on vajalik adressaat (destination) (\u00fcldine m\u00f5isted j\u00e4rjekordadele ja teemadele), mis jaotab s\u00f5numid peamiselt nagu teema, nii et iga s\u00f5num saadetakse eraldi s\u00fcsteemi, mis on nende s\u00f5numite osas huvitatud, samuti saab iga s\u00fcsteem m\u00e4\u00e4rata mitmeid tarbijaid, kes saavad sisenenud s\u00f5numid, mis sarnaneb rohkem j\u00e4rjekorrale. Selles juhul on lugemise t\u00fc\u00fcp \u2014 <i>\u00fcks kord iga huvitatud osapoole jaoks.<\/i>. Need hybrid addresses often require reliability, so if a consumer disconnects, messages sent during that time are accepted after the consumer reconnects.<\/p>\n<p>Hybrid models are not new and can be used in most messaging systems, including both ActiveMQ (through virtual or composite addresses that combine topics and queues) and Kafka (implicitly, as a fundamental design property of its address).<\/p>\n<p>Now that we have some basic terminology and understanding of what we might need a messaging system for, let's move on to the details.<\/p>\n<p><b> Translation completed: <noindex><a rel=\"nofollow\" href=\"http:\/\/tele.gg\/middle_java\">tele.gg\/middle_java<\/a><\/noindex><\/b><\/p>\n<p>Next translated part: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466585\">Peat\u00fckk 3. Kafka<\/a><\/noindex><\/p>\n<p><i>J\u00e4tkub&#8230;<\/i><br \/>\n<br \/>Allikas: <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.1.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\/et\/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.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\/et\/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\udd47Understanding Message Brokers. Exploring the mechanics of messaging through ActiveMQ and Kafka. Chapter 1 | ProHoster","description":"Hello everyone! I started translating a small book: \"Understanding Message.","canonical_url":"https:\/\/prohoster.info\/et\/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":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/38171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=38171"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/38171\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=38171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=38171"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=38171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}