{"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\/it\/blog\/administrirovanie\/ponimanie-brokerov-soobshhenij-izuchenie-mehaniki-obmena-soobshheniyami-posredstvom-activemq-i-kafka-glava-1","title":{"rendered":"Comprensione dei broker di messaggi. Studio della meccanica dello scambio di messaggi tramite ActiveMQ e Kafka. Capitolo 1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ciao a tutti!<\/p>\n<p>Ho iniziato a tradurre un piccolo libro:<br \/>\n\u00ab<b><noindex><a rel=\"nofollow\" href=\"https:\/\/www.oreilly.com\/library\/view\/understanding-message-brokers\/9781492049296\/\">Comprendere i Message Brokers<\/a><\/noindex><\/b>\" <br \/>\nautore: Jakub Korab, editore: O'Reilly Media, Inc., data di pubblicazione: Giugno 2017, ISBN: 9781492049296.<\/p>\n<p>Dall'introduzione al libro:<br \/>\n\u00ab\u2026 <i>Questo libro ti insegner\u00e0 a riflettere sui sistemi di scambio di messaggi con broker, confrontando e mettendo a confronto due tecnologie di broker popolari: Apache ActiveMQ e Apache Kafka. Saranno presentati esempi di utilizzo e motivazioni dello sviluppo che hanno portato i loro progettisti ad utilizzare approcci completamente diversi nello stesso campo: lo scambio di messaggi tra sistemi attraverso un broker intermedio. Esamineremo queste tecnologie dal principio e metteremo in evidenza l'influenza delle diverse opzioni di design lungo il percorso. Ottieni una comprensione approfondita di entrambi i prodotti, come dovrebbero e non dovrebbero essere usati, e cosa considerare quando si esaminano altre tecnologie di scambio di messaggi nel futuro.<\/i> \u2026\u00bb<\/p>\n<p>Parti tradotte fino ad oggi:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466385\">Capitolo 1. Introduzione<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466585\">Capitolo 3. Kafka<\/a><\/noindex><\/p>\n<p>Pubblicher\u00f2 i capitoli completati man mano che traduco.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>CAPITOLO 1<\/h2>\n<p><\/p>\n<h2>Introduzione<\/h2>\n<p>\nLo scambio di messaggi tra sistemi \u00e8 uno dei settori meno compresi nell'IT. Come sviluppatore o architetto, potresti essere ben consapevole di diversi framework e database. Tuttavia, \u00e8 probabile che tu abbia solo una conoscenza superficiale di come funzionano le tecnologie di scambio di messaggi basate su broker. Se ti senti in questo modo, non preoccuparti, sei in buona compagnia.<\/p>\n<p>Le persone di solito interagiscono con l'infrastruttura di scambio di messaggi in modo molto limitato. Spesso ci si connette a un sistema creato molto tempo fa, oppure si scarica una distribuzione da internet, la si installa nell'ambiente di produzione e si inizia a scrivere codice per esso. Dopo aver avviato l'infrastruttura in produzione, i risultati possono essere ambigui: perdita di messaggi in caso di guasti, l'invio non funziona come previsto, oppure i broker \"bloccano\" i tuoi produttori o non inviano messaggi ai tuoi consumatori.<\/p>\n<p>Suona familiare?<\/p>\n<p>Uno scenario comune \u00e8 quando il tuo codice di messaggistica funziona perfettamente, fino a quando non smette di farlo. Questo periodo pu\u00f2 accecare la vigilanza e creare una falsa sensazione di sicurezza, portando a un codice sempre pi\u00f9 grande basato su errate convinzioni sul comportamento fondamentale della tecnologia. Quando qualcosa inizia ad andare storto, ti trovi di fronte a una scomoda verit\u00e0: che in realt\u00e0 non hai compreso il comportamento di base del prodotto o i compromessi scelti dagli autori, come prestazioni versus affidabilit\u00e0 o transazionalit\u00e0 versus scalabilit\u00e0 orizzontale.<\/p>\n<p>Senza una profonda comprensione di come funzionano i broker, le persone fanno affermazioni apparentemente ragionevoli sui loro sistemi di messaggistica, come:<\/p>\n<ul>\n<li>Il sistema non perder\u00e0 mai messaggi<\/li>\n<li>I messaggi verranno elaborati in modo sequenziale<\/li>\n<li>Aggiungere consumatori render\u00e0 il sistema pi\u00f9 veloce<\/li>\n<li>I messaggi verranno consegnati solo una volta<\/li>\n<\/ul>\n<p>\nSfortunatamente, alcune di queste affermazioni si basano su assunzioni che si applicano solo in determinate circostanze, mentre altre sono semplicemente false.<\/p>\n<p>Questo libro ti insegner\u00e0 a ragionare sui sistemi di messaggistica basati su broker, confrontando e contrapporendo due tecnologie di broker popolari: Apache ActiveMQ e Apache Kafka. Verranno forniti esempi di utilizzo e incentivi allo sviluppo che hanno portato i loro sviluppatori ad adottare approcci completamente diversi nello stesso campo: la messaggistica tra sistemi tramite un broker intermedio. Esamineremo queste tecnologie da zero e evidenzieremo l'impatto delle diverse opzioni di design lungo il percorso. Acquisirai una comprensione profonda di entrambi i prodotti, comprendendo come e non come utilizzarli, e cosa considerare quando si guardano altre tecnologie di messaggistica in futuro.<\/p>\n<p>Prima di iniziare, diamo un'occhiata alle basi.<\/p>\n<h3>Che cos'\u00e8 un sistema di messaggistica e a cosa serve<\/h3>\n<p>\nAffinch\u00e9 due applicazioni possano comunicare tra loro, devono prima definire un'interfaccia. La definizione di quest'interfaccia comprende la scelta di un trasporto o protocollo come HTTP, MQTT o SMTP e l'accordo sui formati dei messaggi che verranno scambiati tra i sistemi. Questo pu\u00f2 essere un processo rigoroso, come la definizione di uno schema XML con requisiti per il payload del messaggio, oppure pu\u00f2 essere molto meno formale, ad esempio un accordo tra due sviluppatori sul fatto che una certa parte della richiesta HTTP conterr\u00e0 un identificativo del cliente.<\/p>\n<p>Fintanto che il formato dei messaggi e l'ordine in cui vengono inviati tra i sistemi sono concordati, potranno interagire tra loro senza preoccuparsi dell'implementazione di un altro sistema. Le parti interne di questi sistemi, come il linguaggio di programmazione o il framework utilizzato, possono cambiare nel tempo. Finch\u00e9 il contratto stesso \u00e8 mantenuto, l'interazione pu\u00f2 continuare senza modifiche dall'altra parte. Questi due sistemi sono efficacemente disaccoppiati (separati) da quest'interfaccia.<\/p>\n<p>I sistemi di messaggistica generalmente prevedono un intermediario tra due sistemi che interagiscono per ulteriormente disaccoppiare (separare) il mittente dai destinatari. In questo modo, il sistema di messaggistica consente al mittente di inviare un messaggio senza sapere dove si trovi il destinatario, se sia attivo o quanti sono i loro esemplari.<\/p>\n<p>Prendiamo in considerazione un paio di analogie riguardanti i tipi di problemi che un sistema di messaggistica pu\u00f2 risolvere e introduciamo alcuni termini di base.<\/p>\n<h4>Point-to-Point<\/h4>\n<p><\/p>\n<blockquote><p>Alessandra va all'ufficio postale per inviare un pacco ad Adamo. Si avvicina allo sportello e consegna il pacco all'impiegato. L'impiegato ritira il pacco e fornisce ad Alessandra una ricevuta. Adamo non ha bisogno di essere a casa al momento della spedizione del pacco. Alessandra \u00e8 certa che il pacco sar\u00e0 consegnato ad Adamo in un momento futuro e pu\u00f2 continuare a occuparsi delle sue cose. Pi\u00f9 tardi, ad un certo punto, Adamo riceve il pacco.<\/p><\/blockquote>\n<p>Questo \u00e8 un esempio di modello di messaggistica <i>point-to-point<\/i>. L'ufficio postale qui funge da meccanismo di distribuzione dei pacchi, garantendo che ciascun pacco venga consegnato una sola volta. L'uso dell'ufficio postale separa l'atto di invio del pacco dalla consegna del pacco.<br \/>\nNei sistemi di messaggistica classici, il modello \"point-to-point\" viene implementato tramite <i>di coda<\/i>. La coda funge da buffer FIFO (primo arrivato, primo servito), a cui possono iscriversi uno o pi\u00f9 consumatori. Ogni messaggio viene consegnato solo <i>a uno degli abbonati<\/i>. Le code cercano di distribuire i messaggi in modo equo tra i consumatori. Solo un consumatore ricever\u00e0 il messaggio.<\/p>\n<p>Il termine \"affidabili\" (\"durable\") si applica alle code. <i>Affidabilit\u00e0 <\/i> \u2014 \u00e8 una propriet\u00e0 del servizio che garantisce che il sistema di messaggistica conserver\u00e0 i messaggi in assenza di abbonati attivi fino a quando un consumatore non si iscriva alla coda per ricevere i messaggi.<\/p>\n<p>L'affidabilit\u00e0 viene spesso confusa con <i>la persistenza<\/i> e, sebbene questi due termini siano intercambiabili, svolgono funzioni diverse. La persistenza determina se il sistema di messaggistica registra un messaggio in qualche tipo di archiviazione tra la ricezione e l'invio al consumatore. I messaggi inviati a una coda possono essere o meno persistenti.<br \/>\nLa messaggistica \"point-to-point\" viene utilizzata quando il caso d'uso richiede un'azione unica sul messaggio. Per esempio, il deposito di fondi su un conto o l'effettuazione di un ordine di consegna. Discuteremo pi\u00f9 avanti perch\u00e9 il sistema di messaggistica da solo non pu\u00f2 garantire la consegna unica e perch\u00e9 le code possono al massimo garantire la consegna <i>almeno una volta<\/i>.<\/p>\n<h4>Pubblicazione-Iscrizione<\/h4>\n<p><\/p>\n<blockquote><p>Gabriella compone il numero della conferenza. Mentre \u00e8 connessa alla conferenza, sente tutto ci\u00f2 che dice il relatore, insieme agli altri partecipanti alla chiamata. Quando si disconnette, perde ci\u00f2 che \u00e8 stato detto. Riconnettendosi, continua a sentire ci\u00f2 che viene detto.<\/p><\/blockquote>\n<p> Questo \u00e8 un esempio di modello di messaggistica <i>pubblicazione-iscrizione<\/i>. La videoconferenza funge da meccanismo di broadcasting. Il relatore non si preoccupa di quante persone siano attualmente collegate alla chiamata: il sistema garantisce che chiunque si connetta in quel momento possa sentire ci\u00f2 che viene detto.<br \/>\nNei sistemi di messaggistica classici, il modello di messaggistica \"pubblicazione-iscrizione\" viene implementato tramite <i>argomenti<\/i>Il topic fornisce un metodo di broadcasting simile a quello del meccanismo di conferenza. Quando un messaggio viene inviato a un topic, esso viene distribuito <i>a tutti gli utenti iscritti<\/i>.<\/p>\n<p>I topic sono generalmente <i>non affidabili (nondurable)<\/i>. Come per l'ascoltatore che non sente ci\u00f2 che viene detto durante una chiamata in conferenza quando si disconnette, gli abbonati al topic saltano qualsiasi messaggio inviato mentre sono offline. Per questo motivo, si pu\u00f2 dire che i topic offrono una garanzia di consegna <i>non pi\u00f9 di una volta <\/i>per ogni consumatore.<\/p>\n<p>La messaggistica di tipo \"pubblica-iscrivi\" viene utilizzata solitamente quando i messaggi sono di natura informativa e la perdita di un messaggio non \u00e8 particolarmente significativa. Ad esempio, un topic pu\u00f2 trasmettere i dati sulla temperatura da un gruppo di sensori una volta al secondo. Un sistema che si interessa alla temperatura attuale e che si iscrive al topic non si preoccuper\u00e0 se perde un messaggio: un altro arriver\u00e0 a breve.<\/p>\n<h4>Modelli ibridi<\/h4>\n<p><\/p>\n<blockquote><p>Il sito web del negozio inserisce i messaggi sugli ordini in una \"coda di messaggi\". Il principale consumatore di questi messaggi \u00e8 il sistema esecutivo. Inoltre, il sistema di audit deve avere copie di questi messaggi sugli ordini per il monitoraggio successivo. Entrambi i sistemi non possono perdere messaggi, anche se gli stessi sistemi sono non disponibili per un certo periodo. Il sito web non deve essere a conoscenza degli altri sistemi.<\/p><\/blockquote>\n<p> Gli scenari d'uso richiedono spesso la combinazione dei modelli di messaggistica \"pubblica-iscrivi\" e \"point-to-point\", ad esempio quando pi\u00f9 sistemi necessitano di una copia del messaggio, e per prevenire la perdita del messaggio sono richiesti affidabilit\u00e0 e persistenza.<\/p>\n<p>In questi casi \u00e8 necessario un destinatario (destination) (termine generale per code e topic), che distribuisce i messaggi principalmente come un topic, in modo che ogni messaggio venga inviato a un sistema separato interessato a tali messaggi, ma in cui ogni sistema pu\u00f2 anche determinare pi\u00f9 consumatori che ricevono i messaggi in arrivo, che assomiglia di pi\u00f9 a una coda. Il tipo di lettura in questo caso \u00e8 <i>una volta per ogni parte interessata<\/i>Questi destinatari ibridi richiedono spesso affidabilit\u00e0, quindi se il consumatore si disconnette, i messaggi inviati in quel momento vengono ricevuti dopo la riconnessione del consumatore.<\/p>\n<p>I modelli ibridi non sono nuovi e possono essere utilizzati nella maggior parte dei sistemi di messaggistica, inclusi sia ActiveMQ (attraverso destinatari virtuali o composti che uniscono argomenti e code) sia Kafka (implicitamente, come propriet\u00e0 fondamentale del design del suo destinatario).<\/p>\n<p>Ora che abbiamo una certa terminologia di base e una comprensione di come potrebbe servirci un sistema di messaggistica, passiamo ai dettagli.<\/p>\n<p><b> Traduzione eseguita: <noindex><a rel=\"nofollow\" href=\"http:\/\/tele.gg\/middle_java\">tele.gg\/middle_java<\/a><\/noindex><\/b><\/p>\n<p>La prossima parte tradotta: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466585\">Capitolo 3. Kafka<\/a><\/noindex><\/p>\n<p><i>Continua&#8230;<\/i><br \/>\n<br \/>Fonte: <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\/it\/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=\"it_IT\" \/>\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\/it\/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\udd47Comprendere i broker di messaggi. Esplorare la meccanica della messaggistica attraverso ActiveMQ e Kafka. Capitolo 1 | ProHoster","description":"Ciao a tutti! Ho iniziato a tradurre un piccolo libro: \"Understanding Message.","canonical_url":"https:\/\/prohoster.info\/it\/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":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/38171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=38171"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/38171\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=38171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=38171"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=38171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}