{"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\/nl\/blog\/administrirovanie\/ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1","title":{"rendered":"Begrijpen van berichtenbrokers. Bestuderen van de mechanica van berichtenoverdracht via ActiveMQ en Kafka. Hoofdstuk 1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hallo allemaal!<\/p>\n<p>Ik ben begonnen met het vertalen van een klein boek:<br \/>\n\u00ab<b><noindex><a rel=\"nofollow\" href=\"https:\/\/www.oreilly.com\/library\/view\/understanding-message-brokers\/9781492049296\/\">Understanding Message Brokers<\/a><\/noindex><\/b>\u00ab, <br \/>\nauteur: Jakub Korab, uitgeverij: O'Reilly Media, Inc., uitgave datum: juni 2017, ISBN: 9781492049296.<\/p>\n<p>Uit de inleiding van het boek:<br \/>\n\u00ab\u2026 <i>Dit boek leert je nadenken over berichtenoverdrachtsystemen op basis van brokers, door twee populaire brokertechnologie\u00ebn te vergelijken en tegenover elkaar te stellen: Apache ActiveMQ en Apache Kafka. Voorbeelden van gebruik en ontwikkelingsdrijfveren die hebben geleid tot heel verschillende benaderingen van hetzelfde gebied \u2014 berichtenoverdracht tussen systemen met een tussenliggende broker \u2014 worden hier gepresenteerd. We zullen deze technologie\u00ebn vanaf de basis bekijken en de invloed van verschillende ontwerpmogelijkheden op dat pad benadrukken. Je krijgt een diepgaand begrip van beide producten, inzicht in hoe je ze moet en niet moet gebruiken, en begrip van wat je moet overwegen bij het bekijken van andere berichtenoverdrachtstechnologie\u00ebn in de toekomst.<\/i> \u2026\u00bb<\/p>\n<p>Tot nu toe vertaalde delen:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466385\">Hoofdstuk 1. Inleiding<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466585\">Hoofdstuk 3. Kafka<\/a><\/noindex><\/p>\n<p>Ik zal voltooide hoofdstukken plaatsen naarmate ik ze vertaal.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>HOOFDSTUK 1<\/h2>\n<p><\/p>\n<h2>Inleiding<\/h2>\n<p>\nBerichtenoverdracht tussen systemen is een van de minst begrepen gebieden in IT. Als ontwikkelaar of architect ben je misschien goed bekend met verschillende frameworks en databases. Toch is het heel goed mogelijk dat je slechts een oppervlakkige kennis hebt van hoe berichtenoverdrachtstechnologie\u00ebn die zijn gebaseerd op brokers werken. Als je je zo voelt, maak je geen zorgen, je bent in goed gezelschap.<\/p>\n<p>Mensen komen meestal slechts in beperkte mate in contact met berichteninfrastructuur. Het is niet ongewoon om verbinding te maken met een systeem dat lang geleden is gemaakt, of om een distributie van het internet te downloaden, deze in een productieomgeving te installeren en begin met het schrijven van code daarvoor. Na het opzetten van de infrastructuur in productie kunnen de resultaten tegenvallend zijn: verlies van berichten bij storingen, verzending werkt niet zoals verwacht, of brokers \u2018vergrendelen\u2019 je producenten of verzenden geen berichten naar je consumenten.<\/p>\n<p>Klinkt herkenbaar?<\/p>\n<p>Een veelvoorkomend scenario is dat uw berichtenuitwisseling perfect werkt, tot het moment dat het stopt met werken. Deze periode verleidt tot een vals gevoel van veiligheid, waardoor er nog meer code wordt geschreven die is gebaseerd op verkeerde aannames over het fundamentele gedrag van de technologie. Wanneer er iets misgaat, komt u erachter dat u de basisprincipes van het product of de compromissen die door de ontwikkelaars zijn gemaakt, zoals prestaties versus betrouwbaarheid, of transactioneel versus horizontaal schalen, in werkelijkheid niet begreep.<\/p>\n<p>Zonder een diepgaand begrip van hoe brokers functioneren, doen mensen schijnbaar verstandige uitspraken over hun berichtenuitwisselingssystemen, zoals:<\/p>\n<ul>\n<li>Het systeem zal nooit berichten verliezen.<\/li>\n<li>Berichten worden sequentieel verwerkt.<\/li>\n<li>Het toevoegen van consumenten zal het systeem sneller maken.<\/li>\n<li>Berichten worden slechts \u00e9\u00e9n keer afgeleverd.<\/li>\n<\/ul>\n<p>\nHelaas zijn sommige van deze uitspraken gebaseerd op aannames die alleen onder bepaalde omstandigheden gelden, terwijl andere simpelweg onjuist zijn.<\/p>\n<p>Dit boek leert u om na te denken over berichtenuitwisselingssystemen op basis van brokers, door twee populaire brokertechnologie\u00ebn te vergelijken en tegenover elkaar te stellen: Apache ActiveMQ en Apache Kafka. Voor elke technologie worden gebruikscases en ontwikkelimpulsen besproken die hebben geleid tot totaal verschillende benaderingen van hetzelfde domein - de berichtenuitwisseling tussen systemen met een tussenliggende broker. We bekijken deze technologie\u00ebn vanaf het begin en belichten de impact van verschillende ontwerpmogelijkheden onderweg. U krijgt een diepgaand begrip van beide producten, inzicht in hoe deze wel en niet moeten worden gebruikt, en oog voor wat belangrijk is bij de overweging van andere berichtenuitwisselingstechnologie\u00ebn in de toekomst.<\/p>\n<p>Voordat we beginnen, laten we de basisprincipes doorlopen.<\/p>\n<h3>Wat is een berichtenuitwisselingssysteem en waarom is het nodig?<\/h3>\n<p>\nOm ervoor te zorgen dat twee applicaties met elkaar kunnen communiceren, moeten ze eerst de interface bepalen. Het defini\u00ebren van deze interface omvat het kiezen van een transportmiddel of protocol, zoals HTTP, MQTT of SMTP, en het afstemmen van de berichtformaten die de systemen zullen uitwisselen. Dit kan een strikt proces zijn, zoals het defini\u00ebren van een XML-schema met vereisten voor de payload van het bericht, of het kan veel minder formeel zijn, bijvoorbeeld een afspraak tussen twee ontwikkelaars dat een bepaald deel van het HTTP-verzoek een klant-ID zal bevatten.<\/p>\n<p>Zolang het formaat van de berichten en de volgorde van verzending tussen de systemen zijn afgestemd, kunnen ze met elkaar communiceren zonder zich zorgen te maken over de implementatie van het andere systeem. De interne werking van deze systemen, zoals de programmeertaal of de gebruikte framework, kan in de loop der tijd veranderen. Zolang het contract zelf wordt gehandhaafd, kan de interactie doorgaan zonder wijzigingen van de andere kant. Deze twee systemen zijn effectief van elkaar losgekoppeld door deze interface.<\/p>\n<p>Messaging-systemen voorzien meestal in de deelname van een tussenpersoon tussen twee systemen die met elkaar interageren, voor verdere decoupling van de zender van de ontvanger of ontvangers. Het messaging-systeem stelt de zender in staat om een bericht te verzenden zonder te weten waar de ontvanger zich bevindt, of deze actief is, of hoeveel exemplaren er zijn.<\/p>\n<p>Laten we een paar analogie\u00ebn over de soorten problemen die een messaging-systeem oplost, bekijken en enkele basisbegrippen introduceren.<\/p>\n<h4>Point-to-Point<\/h4>\n<p><\/p>\n<blockquote><p>Alexandra gaat naar het postkantoor om een pakket naar Adam te versturen. Ze loopt naar de balie en geeft het pakket aan de medewerker. De medewerker neemt het pakket aan en geeft Alexandra een ontvangstbewijs. Adam hoeft niet thuis te zijn op het moment dat het pakket wordt verzonden. Alexandra is ervan overtuigd dat het pakket op een gegeven moment in de toekomst bij Adam zal worden afgeleverd en kan haar zaken blijven doen. Later ontvangt Adam het pakket.<\/p><\/blockquote>\n<p>Dit is een voorbeeld van een messaging-model <i>point-to-point<\/i>. Het postkantoor fungeert hier als een mechanisme voor het distribueren van pakketten, waarbij wordt gegarandeerd dat elk pakket eenmaal wordt afgeleverd. Het gebruik van het postkantoor scheidt de handeling van het verzenden van een pakket van de aflevering ervan.<br \/>\nIn klassieke berichtensystemen wordt het model 'point-to-point' ge\u00efmplementeerd via <i>wachtrijen<\/i>. Een wachtrij fungeert als een FIFO-buffer (first in, first out), waarop een of meerdere consumenten zich kunnen abonneren. Elk bericht wordt alleen bezorgd aan <i>\u00e9\u00e9n van de abonnees<\/i>. Wachtrijen proberen doorgaans berichten eerlijk te verdelen tussen de consumenten. Slechts \u00e9\u00e9n consument ontvangt dit specifieke bericht.<\/p>\n<p>De term 'betrouwbare' ('durable') wordt toegepast op wachtrijen. <i>Betrouwbaarheid <\/i> \u2014 dit is een eigenschap van de service die garandeert dat het berichten systeem berichten opslaat zolang er geen actieve abonnees zijn, totdat een consument zich abonneert op de wachtrij voor de aflevering van berichten.<\/p>\n<p>Betrouwbaarheid wordt vaak verward met <i>persistentie<\/i> , en hoewel deze twee termen uitwisselbaar zijn, vervullen ze verschillende functies. Persistentie bepaalt of het berichten systeem een bericht opslaat in een soort opslag tussen het ontvangen en afgeven aan de consument. Berichten die naar een wachtrij worden verzonden, kunnen al dan niet persistent zijn.<br \/>\nPoint-to-point messaging wordt gebruikt wanneer de use case een eenmalige actie met een bericht vereist. Bijvoorbeeld het storten van geld op een rekening of het plaatsen van een leveringsorder. We zullen later bespreken waarom het berichten systeem zelf niet in staat is om een eenmalige aflevering te garanderen en waarom wachtrijen in de beste gevallen alleen aflevering kunnen garanderen <i>ten minste \u00e9\u00e9n keer<\/i>.<\/p>\n<h4>Publisher-Subscriber<\/h4>\n<p><\/p>\n<blockquote><p>Gabri\u00eblla belt het conferentienummer. Terwijl ze verbonden is met de conferentie, hoort ze alles wat de spreker zegt, samen met de andere deelnemers aan de oproep. Wanneer ze zich afmeldt, mist ze wat er gezegd is. Bij het opnieuw verbinden, hoort ze weer wat er wordt gezegd.<\/p><\/blockquote>\n<p> Dit is een voorbeeld van een messaging-model <i>publicatie-abonnement<\/i>. De conferentie heeft de functie van een broadcast-mechanisme. De spreker maakt zich geen zorgen over hoeveel mensen momenteel deelnemen aan de oproep \u2014 het systeem zorgt ervoor dat iedereen die op dat moment verbonden is, hoort wat er wordt gezegd.<br \/>\nIn klassieke berichtensystemen wordt het publicatie-abonnementsmodel ge\u00efmplementeerd via <i>topics<\/i>Een topic biedt een vergelijkbare manier van broadcasten als het mechanisme van conferentiegesprekken. Wanneer een bericht naar een topic wordt verzonden, wordt het verspreid <i>over alle ingeschreven gebruikers.<\/i>.<\/p>\n<p>Topics zijn meestal <i>onbetrouwbaar (nondurable).<\/i>Net zoals een luisteraar die niet hoort wat er wordt gezegd tijdens een conferentiegesprek wanneer de luisteraar wordt afgesneden, missen topicabonnees alle berichten die worden verzonden op het moment dat zij offline zijn. Om deze reden kan worden gesteld dat topics een aflevergarantie bieden <i>van niet meer dan \u00e9\u00e9n keer <\/i>voor elke consument.<\/p>\n<p>Publicatie-abonnementscommunicatiemodellen worden meestal gebruikt wanneer berichten informatief van aard zijn en het verlies van \u00e9\u00e9n bericht niet van groot belang is. Bijvoorbeeld, een topic kan temperatuurmetingen van een groep sensoren \u00e9\u00e9n keer per seconde versturen. Een systeem dat ge\u00efnteresseerd is in de huidige temperatuur en dat zich heeft ingeschreven op het topic, zal zich geen zorgen maken als het een bericht mist - er zal spoedig een ander komen.<\/p>\n<h4>Hybride modellen.<\/h4>\n<p><\/p>\n<blockquote><p>De winkelwebsite plaatst bestelberichten in een 'berichtwachtrij'. De belangrijkste consument van deze berichten is het uitvoerende systeem. Daarnaast moet het auditsysteem kopie\u00ebn van deze bestelberichten hebben voor latere opvolging. Beide systemen mogen geen berichten missen, zelfs niet als de systemen zelf gedurende een bepaalde tijd niet beschikbaar zijn. De website hoeft niet op de hoogte te zijn van de andere systemen.<\/p><\/blockquote>\n<p> Gebruiksscenario's vereisen vaak een combinatie van publicatie-abonnements- en point-to-point-berichtenmodellen, bijvoorbeeld wanneer meerdere systemen een kopie van het bericht nodig hebben, en waar zowel betrouwbaarheid als persistentie vereist is om het verlies van berichten te voorkomen.<\/p>\n<p>In deze gevallen is een bestemmeling (destination) nodig (een algeme term voor wachtrijen en topics), die berichten voornamelijk distribueert als een topic, zodat elk bericht naar een afzonderlijk systeem dat ge\u00efnteresseerd is in deze berichten wordt verzonden, maar ook waarin elk systeem meerdere consumenten kan bepalen die de binnenkomende berichten ontvangen, wat meer op een wachtrij lijkt. Het type lezen in dit geval is <i>\u00e9\u00e9n keer voor elke ge\u00efnteresseerde partij.<\/i>Deze hybride adressen vereisen vaak betrouwbaarheid, dus als de consument wordt losgekoppeld, worden de berichten die tijdens deze tijd worden verzonden, na opnieuw verbinden van de consument geaccepteerd.<\/p>\n<p>Hybride modellen zijn niet nieuw en kunnen in de meeste berichten-systemen worden toegepast, waaronder zowel ActiveMQ (via virtuele of samengestelde adressen die onderwerpen en wachtrijen combineren) als Kafka (impliciet, als een fundamentele ontwerpeigenschap van haar adressen).<\/p>\n<p>Nu we wat basis terminologie en begrip hebben van waar een berichten-systeem nuttig voor kan zijn, laten we naar de details gaan.<\/p>\n<p><b> Vertaling uitgevoerd: <noindex><a rel=\"nofollow\" href=\"http:\/\/tele.gg\/middle_java\">tele.gg\/middle_java<\/a><\/noindex><\/b><\/p>\n<p>De volgende vertaalde sectie: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466585\">Hoofdstuk 3. Kafka<\/a><\/noindex><\/p>\n<p><i>Vervolg volgt\u2026<\/i><br \/>\n<br \/>Bron: <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.3 - 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\/nl\/blog\/administrirovanie\/ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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\/nl\/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\udd47Begrip van berichten-brokers. Mechanica van berichtenuitwisseling via ActiveMQ en Kafka. Hoofdstuk 1 | ProHoster","description":"Hallo iedereen! Ik ben begonnen met de vertaling van een klein boek: \"Understanding Message.","canonical_url":"https:\/\/prohoster.info\/nl\/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":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/38171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=38171"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/38171\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=38171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=38171"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=38171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}