{"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\u00f5numite vahendajate m\u00f5istmine. S\u00f5numite vahetuse mehhanika uurimine ActiveMQ ja Kafka abil. Peat\u00fckk 1.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Tere k\u00f5igile!<\/p>\n<p>Alustasin v\u00e4ikese raamatu t\u00f5lkimist:<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>\u201e <br \/>\nautor: Jakub Korab, kirjastus: O'Reilly Media, Inc., v\u00e4ljaandmise kuup\u00e4ev: juuni 2017, ISBN: 9781492049296.<\/p>\n<p>Raamatu sissejuhatusest:<br \/>\n&#171;\u2026 <i>See raamat \u00f5petab teid m\u00f5tlema s\u00f5numite vahetamise s\u00fcsteemide \u00fcle, v\u00f5rreldes ja vastandades kahte populaarset vahenditehnoloogiat: Apache ActiveMQ-d ja Apache Kafka-d. Siin esitame kasutusn\u00e4iteid ja arendusstiimule, mis viisid selleni, et nende arendajad kasutasid sama valdkonna \u2014 s\u00f5numite vahetamine s\u00fcsteemide vahel vahebrokero kaudu \u2014 jaoks t\u00e4iesti erinevaid l\u00e4henemisviise. Uurime neid tehnoloogiaid nullist ja r\u00f5hutame erinevate disainivalikute m\u00f5ju sellel teel. Saate p\u00f5hjaliku arusaama m\u00f5lemast tootest, teadlikkuse sellest, kuidas neid tuleks ja ei tohiks kasutada, ja arusaamise, millele tuleks t\u00e4helepanu p\u00f6\u00f6rata teiste s\u00f5numite vahetamise tehnoloogiate kaalumisel tulevikus.<\/i> &#8230;&#187;<\/p>\n<p>Kuni praeguseni t\u00f5lgitud osad:<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 edenemise j\u00e4rgi.<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\u00f5numivahetus on \u00fcks v\u00e4hem m\u00f5istetud IT-valdkondi. Arendajana v\u00f5i arhitektina v\u00f5ite olla tuttav erinevate raamistike ja andmebaasidega. Siiski on t\u00f5en\u00e4oline, et olete ainult pindmisesse kokku puutunud s\u00f5numivahetustehnoloogiatega, mis p\u00f5hinevad vahendajal. Kui te tunnete end nii, siis \u00e4rge muretsege, te pole \u00fcksi.<\/p>\n<p>Inimesed puutuvad n\u00e4iteks s\u00f5numivahetuse infrastruktuuriga kokku v\u00e4ga piiratud ulatuses. Tihti liituvad nad s\u00fcsteemiga, mis on kunagi ammu loodud, v\u00f5i laadivad internetist alla paketi, installivad selle PROMsse ja hakkavad selle jaoks koodi kirjutama. Kui infrastruktuur PROMs \u00fcles seada, v\u00f5ivad tulemused olla kaheldavad: s\u00f5numite kadumine s\u00fcsteemih\u00e4irete korral, saatmine ei toimi oodatud viisil v\u00f5i vahendajad \u201ehanguvad\u201d teie tootjatega v\u00f5i ei edasta s\u00f5numeid teie tarbijatele.<\/p>\n<p>Kas k\u00f5lab tuttavalt?<\/p>\n<p>Levinud stsenaarium, kus teie s\u00f5numside kood t\u00f6\u00f6tab suurep\u00e4raselt, kuni hetkeni, mil see enam ei toimi. See periood uinutab valvsuse ja loob vale turvatunde, mis toob kaasa veelgi suurema koodi, mis p\u00f5hineb vale ettekujutustel tehnoloogia alusloogikast. Kui asjad hakkavad minema valesti, seisate silmitsi ebamugava t\u00f5ega: te ei m\u00f5ista tegelikult toote p\u00f5hik\u00e4itumist v\u00f5i autorite valitud kompromisse, n\u00e4iteks j\u00f5udluse ja usaldusv\u00e4\u00e4rsuse vahel v\u00f5i transaktsioonide ja horisontaalse skaleeritavuse vahel.<\/p>\n<p>Ilma s\u00fcgava arusaamiseta sellest, kuidas maaklerid t\u00f6\u00f6tavad, teevad inimesed n\u00e4iliselt m\u00f5istlikke v\u00e4iteid nende s\u00f5numitehnoloogia kohta, n\u00e4iteks:<\/p>\n<ul>\n<li>S\u00fcsteem ei kaota kunagi s\u00f5numeid<\/li>\n<li>S\u00f5numeid t\u00f6\u00f6deldakse j\u00e4rjestikku<\/li>\n<li>Tarbijate lisamine teeb s\u00fcsteemi kiiremaks<\/li>\n<li>S\u00f5numid toimetatakse ainult \u00fcks kord<\/li>\n<\/ul>\n<p>\nKahjuks p\u00f5hinevad m\u00f5ned neist v\u00e4idetest eeldustel, mis kehtivad ainult teatud olukordades, samas kui teised on lihtsalt valed.<\/p>\n<p>See raamat \u00f5petab teid m\u00f5tlema s\u00f5numivahetuss\u00fcsteemide \u00fcle, mis p\u00f5hinevad vahendajatel, v\u00f5rreldes ja vastandades kahte populaarset vahendi tehnoloogiat: Apache ActiveMQ ja Apache Kafka. Siin tutvustatakse kasutusn\u00e4iteid ja arendusstiimuleid, mis on viinud selleni, et nende arendajad on kasutanud t\u00e4iesti erinevaid l\u00e4henemisviise samale valdkonnale \u2014 s\u00f5numite edastamisele s\u00fcsteemide vahel vahendaja kaudu. Uurime neid tehnoloogiaid nullist ja r\u00f5hutame erinevate disainivalikute m\u00f5ju sellel teel. Saate s\u00fcgava arusaama m\u00f5lemast tootest, m\u00f5istmise, kuidas neid kasutada ja kuidas mitte, ning teadlikkuse, millele t\u00e4helepanu p\u00f6\u00f6rata, kaaludes tulevikus teisi s\u00f5numivahetustehnoloogiaid.<\/p>\n<p>Enne kui alustame, \u00fclevaade alustest.<\/p>\n<h3>Mis on s\u00f5numivahetuss\u00fcsteem ja milleks see on vajalik<\/h3>\n<p>\nKaks rakendust saavad omavahel suhelda, kui nad on eelnevalt m\u00e4\u00e4ratlenud liidese. Selle liidese m\u00e4\u00e4ratlemine h\u00f5lmab transpordi v\u00f5i protokolli valimist, nagu HTTP, MQTT v\u00f5i SMTP, ning s\u00f5numite vormaatide kokkuleppimist, mida s\u00fcsteemid omavahel vahetavad. See v\u00f5ib olla range protsess, n\u00e4iteks XML-skeemi m\u00e4\u00e4ratlemine koormuse (payload) s\u00f5numi n\u00f5udmistega, v\u00f5i palju v\u00e4hem formaalne, n\u00e4iteks kahe arendaja kokkulepe, et m\u00f5ni osa HTTP-p\u00e4ringust sisaldab kliendi identifikaatorit.<\/p>\n<p>Nii kaua kui s\u00f5numite formaat ja nende edastamise kord on s\u00fcsteemide vahel kokku lepitud, saavad nad omavahel suhelda, muretsemata teise s\u00fcsteemi rakenduse \u00fcle. Nende s\u00fcsteemide sisemised aspektid, nagu programmeerimiskeel v\u00f5i kasutatav raamistik, v\u00f5ivad aja jooksul muutuda. Niikaua kui leping ise on s\u00e4ilinud, v\u00f5ib suhtlemine j\u00e4tkuda muutumatuna teiselt poolt. Need kaks s\u00fcsteemi on t\u00f5husalt lahti seotud (eraldatud) selle liidese kaudu.<\/p>\n<p>S\u00f5numivahetuss\u00fcsteemid h\u00f5lmavad tavaliselt vahendajat kahe s\u00fcsteemi vahel, mis suhtlevad edasiseks eraldamiseks (saataja ja saaja v\u00f5i saajate lahutamiseks). S\u00f5numivahetuss\u00fcsteem v\u00f5imaldab saatjal saata s\u00f5numi, teadmata, kus saaja asub, kas ta on aktiivne v\u00f5i kui palju saajaid on.<\/p>\n<p>Vaatleme paar analooge probleemidest, mida s\u00f5numivahetuss\u00fcsteem lahendab, ja tutvustame m\u00f5ned p\u00f5hiterminoloogiad.<\/p>\n<h4>Point-to-Point<\/h4>\n<p><\/p>\n<blockquote><p>Alexandra l\u00e4heb postkontorisse, et saata Adami pakk. Ta l\u00e4heneb aknale ja annab t\u00f6\u00f6tajale paki. T\u00f6\u00f6taja v\u00f5tab paki ja annab Alexandrale kviitungi. Adam ei pea olema kodus, kui pakk saadetakse. Alexandra on kindel, et pakk j\u00f5uab Adamile mingil hetkel tulevikus, ja ta saab j\u00e4tkata oma asjade tegemist. Hiljem, mingil hetkel, saab Adam paki.<\/p><\/blockquote>\n<p>See on n\u00e4ide s\u00f5numivahetusmudelist. <i>punktpunkti<\/i>. Postkontor siin toimib pakettide jaotuss\u00fcsteemina, tagades, et iga pakett saadetakse \u00fcks kord. Postkontori kasutamine eraldab paketi saatmise akti selle kohaletoimetamisest.<br \/>\nKlassikalistes s\u00f5numivahetuss\u00fcsteemides rakendatakse \u201epunkt-punkt\u201d mudelit l\u00e4bi <i>reageeringud<\/i>. Reageering toimib FIFO-pufferina (esimene, kes tuli, esimene, kes l\u00e4ks), millele saavad registreeruda \u00fcks v\u00f5i mitu tarbijat. Iga s\u00f5num saadetakse ainult <i>\u00fchele registreeritud tarbijale<\/i>. Reageeringud p\u00fc\u00fcavad tavaliselt \u00f5iglaselt jaotada s\u00f5numeid tarbijate vahel. Ainult \u00fcks tarbija saab antud s\u00f5numi.<\/p>\n<p>Reageeringutele rakendatakse m\u00f5istet \u201eusaldusv\u00e4\u00e4rne\u201d (\"durable\"). <i>Usaldusv\u00e4\u00e4rsus <\/i> \u2014 see on teenuse omadus, mis garanteerib, et s\u00f5numivahetuss\u00fcsteem salvestab s\u00f5numid, kui aktiivseid tellijaid ei ole, kuni tarbija registreerub reageeringusse s\u00f5numite kohaletoimetamiseks.<\/p>\n<p>Usaldusv\u00e4\u00e4rsust aetakse sageli segamini <i>p\u00fcsivusega<\/i> Kuigi need kaks m\u00f5istet on omavahel asendatavad, t\u00e4idavad nad erinevaid funktsioone. P\u00fcsivus m\u00e4\u00e4rab, kas s\u00f5num salvestatakse s\u00f5numivahetuse s\u00fcsteemis mingisugusesse salvestusse enne selle edastamist tarbijale. Queues'isse saadetud s\u00f5numid v\u00f5ivad olla kas p\u00fcsivad v\u00f5i mitte.<br \/>\nPunkt-punkt s\u00f5numivahetust kasutatakse siis, kui kasutusjuht n\u00f5uab s\u00f5numiga \u00fchtset toimingut. N\u00e4iteks v\u00f5ib tuua esile raha lisamise kontole v\u00f5i kohaletoimetamise tellimise. Arutame hiljem, miks s\u00f5numivahetuse s\u00fcsteem ise ei suuda kindlustada \u00fchtset kohaletoimetamist ja miks j\u00e4rjekorrad suudavad tagada kohaletoimetamise k\u00f5ige paremal juhul. <i>kas v\u00f5i \u00fcks kord<\/i>.<\/p>\n<h4>V\u00e4ljaandja-Postitaja<\/h4>\n<p><\/p>\n<blockquote><p>Gabriella helistab konverentsi numbrile. Kui ta on konverentsiga \u00fchendatud, kuuleb ta k\u00f5ike, mida r\u00e4\u00e4gib esineja, koos teiste k\u00f5ne osalejatega. Kui ta katkestab, j\u00e4\u00e4b ta kuulmata, mida \u00f6eldakse. Taaskohtudes kuuleb ta, mida r\u00e4\u00e4gitakse.<\/p><\/blockquote>\n<p> See on n\u00e4ide s\u00f5numivahetusmudelist. <i>v\u00e4ljaandmine-otluste tegemine<\/i>. Konverentsi k\u00f5ne toimib kui edastamise mehhanism. R\u00e4\u00e4kiv isik ei pea muretsema selle \u00fcle, kui palju inimesi on hetkel k\u00f5nes \u2014 s\u00fcsteem tagab, et iga\u00fche, kes hetkel liitub, kuuleb, mida r\u00e4\u00e4gitakse.<br \/>\nKlassikalistes s\u00f5numivahetuss\u00fcsteemides rakendatakse s\u00f5numivahetuse mudelit \"publikatsioon-tellimine\" l\u00e4bi <i>teemade<\/i>. Teema pakub sama edastamismehhanismi nagu konverentsi k\u00f5ne. Kui s\u00f5num saadetakse teemasse, jagatakse see <i>k\u00f5igi tellijate vahel.<\/i>.<\/p>\n<p>Teemad on tavaliselt <i>ebastabiilsed (nondurable)<\/i>. Nagu kuulaja, kes ei kuule, mis konverentsik\u00f5nes r\u00e4\u00e4gitakse, kui kuulaja \u00fchendus katkeb, j\u00e4tavad teema tellijad vahele k\u00f5ik s\u00f5numid, mis saadetakse siis, kui nad on offline. Seet\u00f5ttu v\u00f5ib \u00f6elda, et teemad tagavad kohaletoimetamise <i>mitte rohkem kui \u00fcks kord <\/i>iga tarbija jaoks.<\/p>\n<p>\u00d5igustekstid, mis on seotud 'postituse-tellimise' t\u00fc\u00fcbiga, kasutatakse tavaliselt siis, kui s\u00f5numid on informatiivse iseloomuga ja \u00fche s\u00f5numi kaotus ei ole eriti oluline. N\u00e4iteks v\u00f5ib teema edastada temperatuuri andmeid sensorigruppidelt kord sekundis. S\u00fcsteem, mis huvitub praegusest temperatuurist ja mis on teemale tellitud, ei muretse, kui ta m\u00f5ne s\u00f5numi vahele j\u00e4tab \u2014 j\u00e4rgmine j\u00f5uab peagi.<\/p>\n<h4>H\u00fcbriidmudelid<\/h4>\n<p><\/p>\n<blockquote><p>Poelehe veebisaidi kaudu paigutatakse tellimuse teated 's\u00f5numij\u00e4rjekorda'. Peamine nende teadete tarbija on t\u00e4itmis\u00fcsteem. Lisaks peab auditeerimiss\u00fcsteem saama koopiaid nendest tellimuste teadetest edasise j\u00e4lgimise jaoks. M\u00f5lemad s\u00fcsteemid ei tohi s\u00f5numeid vahele j\u00e4tta, isegi kui need s\u00fcsteemid ei ole m\u00f5nda aega k\u00e4ttesaadavad. Veebisait ei tohi teadlik olla teistest s\u00fcsteemidest.<\/p><\/blockquote>\n<p> Kasutusskenaarid n\u00f5uavad sageli s\u00f5numivahetusmudelite \u201ev\u00e4ljaandmine-tellimine\u201d ja \u201epunkt-punkt\u201d kombineerimist, n\u00e4iteks juhul, kui mitmetele s\u00fcsteemidele on vaja s\u00f5numi koopiat ning s\u00f5numi kaotuse v\u00e4ltimiseks on vajalik nii usaldusv\u00e4\u00e4rsus kui ka p\u00fcsimine.<\/p>\n<p>Sellistel juhtudel on vajalik sihtkoht (destination) (\u00fcldtermin j\u00e4rjekordade ja teemade jaoks), mis jaotab s\u00f5numeid peamiselt nagu teema, nii et iga s\u00f5num saadetakse eraldi s\u00fcsteemi, mis on nende s\u00f5numite vastu huvitatud, kuid ka nii, et iga s\u00fcsteem v\u00f5ib m\u00e4\u00e4rata mitmeid tarbijaid, kes saavad sissetulevaid s\u00f5numeid, mis rohkem sarnaneb j\u00e4rjekorraga. Sellisel juhul on lugemisviis \u2014 <i>\u00fcks kord iga huvir\u00fchma jaoks<\/i>. Need h\u00fcbriidsed sihtkohad n\u00f5uavad sageli usaldusv\u00e4\u00e4rsust (durability), nii et kui tarbija katkestatakse, aktsepteeritakse sel ajal saatmiseks saadetud s\u00f5numeid p\u00e4rast tarbija taask\u00e4ivitamist.<\/p>\n<p>H\u00fcbriidsed mudelid pole uued ja neid saab rakendada enamikus suhtlus s\u00fcsteemides, sealhulgas nii ActiveMQ-s (virtuaalsete v\u00f5i komposiit-aadresside kaudu, mis \u00fchendavad teemasid ja j\u00e4rjekordi) kui ka Kafka-s (kaudselt, kui selle adressaadi disaini p\u00f5hijoonena).<\/p>\n<p>N\u00fc\u00fcd, kui meil on m\u00f5ned p\u00f5hitereenid ja arusaam sellest, miks meil v\u00f5iks olla vajalik suhtluss\u00fcsteem, liikuge detailselt edasi.<\/p>\n<p><b> T\u00f5lge on tehtud: <noindex><a rel=\"nofollow\" href=\"http:\/\/tele.gg\/middle_java\">tele.gg\/middle_java<\/a><\/noindex><\/b><\/p>\n<p>J\u00e4rgnev t\u00f5lgitud osa: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466585\">Peat\u00fckk 3. Kafka<\/a><\/noindex><\/p>\n<p><i>J\u00e4tkub\u2026<\/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 4.9.10 - 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 Brokers&quot;, \u0430\u0432\u0442\u043e\u0440: Jakub Korab, \u0438\u0437\u0434\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e: O&#039;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: &quot;\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\" \/>\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) 4.9.10\" \/>\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 Brokers&quot;, \u0430\u0432\u0442\u043e\u0440: Jakub Korab, \u0438\u0437\u0434\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e: O&#039;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: &quot;\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\" \/>\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\udd47S\u00f5numibrokkerite m\u00f5istmine. S\u00f5numite vahetuse mehhanika \u00f5ppimine ActiveMQ ja Kafka kaudu. Peat\u00fckk 1 | ProHoster","description":"Tere k\u00f5igile! Alustasin v\u00e4ikese raamatu t\u00f5lkimist: \"Understanding Message Brokers\", autor: Jakub Korab, v\u00e4ljaandja: O'Reilly Media, Inc., v\u00e4ljaandmise kuup\u00e4ev: juuni 2017, ISBN: 9781492049296. Raamatu sissejuhatusest: \"\u2026 See raamat \u00f5petab teid m\u00f5tlema suhtluss\u00fcsteemidele, v\u00f5rreldes ja vastandades kahte populaarset brokermudelit: Apache ActiveMQ ja Apache Kafka. N\u00e4idatud on kasutusn\u00e4ited.","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 Brokers&quot;, \u0430\u0432\u0442\u043e\u0440: Jakub Korab, \u0438\u0437\u0434\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e: O'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: &quot;\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","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"},"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}]}}