{"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":"Comprendere i 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&#171;<b><noindex><a rel=\"nofollow\" href=\"https:\/\/www.oreilly.com\/library\/view\/understanding-message-brokers\/9781492049296\/\">Understanding Message Brokers<\/a><\/noindex><\/b>&#171;, <br \/>\nautore: Jakub Korab, editore: O'Reilly Media, Inc., data di pubblicazione: Giugno 2017, ISBN: 9781492049296.<\/p>\n<p>Dall'introduzione del libro:<br \/>\n\u00ab\u2026 <i>Questo libro ti insegner\u00e0 a riflettere sui sistemi di messaggistica basati su broker, confrontando e mettendo a confronto due tecnologie di broker popolari: Apache ActiveMQ e Apache Kafka. Saranno presentati esempi di utilizzo e motivazioni di sviluppo che hanno portato i loro sviluppatori a utilizzare approcci completamente diversi nello stesso campo \u2014 lo scambio di messaggi tra sistemi tramite un broker intermedio. Esamineremo queste tecnologie dal principio e metteremo in evidenza l'influenza delle diverse scelte architetturali lungo il percorso. Avrai una profonda comprensione di entrambi i prodotti, saprai come usarli e come non usarli, e stimare a cosa prestare attenzione quando considererai altre tecnologie di messaggistica in futuro.<\/i> \u2026\u00bb<\/p>\n<p>Sezioni tradotte fino a questo momento:<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 procedo con la traduzione.<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>\nLa messaggistica intersistemi \u00e8 una delle aree meno comprese nell'IT. Come sviluppatore o architetto, potresti essere ben informato su vari framework e database. Tuttavia, \u00e8 probabile che tu abbia solo una conoscenza superficiale di come funzionano le tecnologie di messaggistica basate su broker. Se ti senti cos\u00ec, non preoccuparti, sei in buona compagnia.<\/p>\n<p>Le persone di solito interagiscono con l'infrastruttura di messaggistica in modo molto limitato. Spesso si connettono a un sistema creato molto tempo fa, oppure scaricano una distribuzione da Internet, la installano nel loro ambiente di produzione e iniziano a scrivere codice per essa. 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>Ti suona familiare?<\/p>\n<p>\u00c8 un comune scenario in cui il tuo codice di messaggistica funziona perfettamente, fino a quando non smette di farlo. Questo periodo inganna la vigilanza e crea un falso senso di sicurezza, portando a una quantit\u00e0 maggiore di codice basato su false convinzioni sul comportamento fondamentale della tecnologia. Quando qualcosa inizia ad andare male, ci si trova di fronte a un'amara verit\u00e0: non hai realmente compreso il comportamento di base del prodotto o i compromessi scelti dagli autori, come le prestazioni contro l'affidabilit\u00e0, o la transazionalit\u00e0 contro la 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 saranno elaborati in modo sequenziale<\/li>\n<li>Aggiungere consumatori render\u00e0 il sistema pi\u00f9 veloce<\/li>\n<li>I messaggi saranno consegnati solo una volta<\/li>\n<\/ul>\n<p>\nSfortunatamente, alcune di queste affermazioni si basano su assunzioni valide 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 mettendo a confronto due tecnologie di broker popolari: Apache ActiveMQ e Apache Kafka. Verranno presentati esempi d'uso e motivazioni dello sviluppo che hanno portato i loro sviluppatori a utilizzare approcci completamente diversi nello stesso ambito\u2014la messaggistica tra sistemi tramite un broker intermedio. Analizzeremo queste tecnologie dall'inizio e metteremo in evidenza l'impatto delle varie scelte di design lungo il percorso. Otterrai una comprensione profonda di entrambi i prodotti, una visione chiara di come dovrebbero e non dovrebbero essere utilizzati, e un'idea di cosa considerare quando esamini altre tecnologie di messaggistica in futuro.<\/p>\n<p>Prima di iniziare, diamo un'occhiata alle basi.<\/p>\n<h3>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 questa interfaccia comprende la scelta di un trasporto o protocollo, come HTTP, MQTT o SMTP, e l'accordo sui formati dei messaggi che i sistemi scambieranno. Questo pu\u00f2 essere un processo rigoroso, come la definizione di uno schema XML con requisiti sui costi per il payload del messaggio, oppure pu\u00f2 essere molto meno formale, ad esempio un accordo tra due sviluppatori riguardo al fatto che una certa parte della richiesta HTTP conterr\u00e0 un identificatore del cliente.<\/p>\n<p>Finch\u00e9 il formato dei messaggi e l'ordine in cui vengono inviati tra i sistemi sono concordati, potranno interagire tra loro senza preoccuparsi dell'implementazione dell'altra sistema. I dettagli interni di questi sistemi, come il linguaggio di programmazione o il framework utilizzato, possono cambiare nel tempo. Finch\u00e9 il contratto stesso viene mantenuto, l'interazione pu\u00f2 continuare senza modifiche dall'altra parte. Questi due sistemi sono efficacemente disaccoppiati (separati) da questa interfaccia.<\/p>\n<p>I sistemi di messaggistica prevedono generalmente un intermediario tra due sistemi che interagiscono per disassociare (separare) il mittente dal destinatario o 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 siano i suoi esemplari.<\/p>\n<p>Esaminiamo un paio di analogie su differenti problemi che risolve un sistema di messaggistica e introduciamo alcuni termini fondamentali.<\/p>\n<h4>Point-to-Point<\/h4>\n<p><\/p>\n<blockquote><p>Alexandra va all'ufficio postale per inviare un pacco ad Adam. Si avvicina allo sportello e consegna il pacco all'impiegato. L'impiegato prende il pacco e restituisce ad Alexandra una ricevuta. Adam non ha bisogno di essere a casa al momento dell'invio del pacco. Alexandra \u00e8 sicura che il pacco arriver\u00e0 ad Adam in un certo momento nel futuro e pu\u00f2 continuare a occuparsi delle sue faccende. In un momento successivo, Adam riceve il pacco.<\/p><\/blockquote>\n<p>Questo \u00e8 un esempio di modello di messaggistica <i>point-to-point<\/i>. L'ufficio postale agisce qui come un meccanismo di distribuzione dei pacchi, garantendo che ogni pacco venga consegnato una sola volta. L'utilizzo 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\" \u00e8 implementato tramite <i>code<\/i>. La coda funge da buffer FIFO (primo arrivato, primo uscito), a cui possono iscriversi uno o pi\u00f9 consumatori. Ogni messaggio viene consegnato solo <i>a uno dei consumatori iscritti<\/i>. Le code cercano di distribuire i messaggi in modo equo tra i consumatori. Solo un consumatore ricever\u00e0 un determinato messaggio.<\/p>\n<p>Il termine \"affidabile\" (\"durable\") viene applicato 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 iscritti attivi fino a quando un consumatore non si iscriver\u00e0 alla coda per la consegna dei 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 un messaggio viene registrato dal sistema di messaggistica in qualche tipo di archiviazione tra la ricezione e l'invio al consumatore. I messaggi inviati in coda possono essere o meno persistenti.<br \/>\nLa messaggistica di tipo 'Punto a Punto' \u00e8 utilizzata quando il caso d'uso richiede un'azione singola sul messaggio. Un esempio pu\u00f2 essere l'accredito di fondi su un conto o l'esecuzione di un ordine di consegna. Discuteremo in seguito perch\u00e9 il sistema di messaggistica da solo non riesca a garantire una consegna unica e perch\u00e9 le code possano al massimo garantire la consegna. <i>almeno una volta<\/i>.<\/p>\n<h4>Publisher-Subscriber<\/h4>\n<p><\/p>\n<blockquote><p>Gabriella compone il numero della conferenza. Finch\u00e9 \u00e8 connessa alla conferenza, ascolta tutto ci\u00f2 che dice il relatore, insieme agli altri partecipanti alla chiamata. Quando si disconnette, perde ci\u00f2 che viene detto. Quando si riconnette, continua a sentire ci\u00f2 che dicono.<\/p><\/blockquote>\n<p> Questo \u00e8 un esempio di modello di messaggistica <i>pubblicazione-abbonamento<\/i>. La conferenza telefonica funge da meccanismo di broadcasting. La persona che parla non si preoccupa di quante persone si siano unite alla chiamata \u2014 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 scambio messaggi \"pubblicazione-iscrizione\" viene implementato tramite <i>topic<\/i>. Un topic offre uno stesso modo di broadcasting come il meccanismo della conferenza telefonica. 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>. Cos\u00ec come un ascoltatore che non sente ci\u00f2 che viene detto durante una chiamata in conferenza quando si disconnette, gli iscritti a un topic saltano eventuali messaggi inviati nel momento in cui sono offline. Per questo motivo, si pu\u00f2 affermare che i topic forniscono una garanzia di consegna <i>non superiore a una volta <\/i>per ciascun consumatore.<\/p>\n<p>Le messaggistica di tipo \u00abpubblicazione-iscrizione\u00bb \u00e8 generalmente utilizzata quando i messaggi hanno un carattere informativo e la perdita di un singolo messaggio non \u00e8 particolarmente significativa. Ad esempio, un topic pu\u00f2 trasmettere i dati della temperatura da un gruppo di sensori una volta al secondo. Un sistema che \u00e8 interessato 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 posiziona i messaggi sugli ordini in una \u00abcoda di messaggi\u00bb. Il principale consumatore di questi messaggi \u00e8 il sistema esecutivo. Inoltre, il sistema di audit deve avere delle copie di questi messaggi sugli ordini per un monitoraggio successivo. Entrambi i sistemi non possono perdere messaggi, anche se i sistemi stessi non sono disponibili per un certo periodo. Il sito web non deve conoscere gli altri sistemi.<\/p><\/blockquote>\n<p> Gli scenari d'uso spesso richiedono la combinazione dei modelli di messaggistica \"pubblicazione-sottoscrizione\" e \"point-to-point\". Ad esempio, quando pi\u00f9 sistemi necessitano di una copia del messaggio, \u00e8 necessaria sia l'affidabilit\u00e0 che la persistenza per evitare la perdita del messaggio.<\/p>\n<p>In questi casi \u00e8 necessario un destinatario (destination) (un termine generico per code e argomenti), che distribuisce i messaggi principalmente come un argomento, in modo tale che ogni messaggio venga inviato a un sistema separato interessato a questi messaggi, ma in cui ogni sistema pu\u00f2 anche definire pi\u00f9 consumatori che ricevono i messaggi in entrata, il che \u00e8 pi\u00f9 simile 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 (durability), quindi se un consumatore si disconnette, i messaggi inviati in quel periodo vengono ricevuti dopo la riconnessione del consumatore.<\/p>\n<p>I modelli ibridi non sono una novit\u00e0 e possono essere utilizzati nella maggior parte dei sistemi di messaggistica, inclusi sia ActiveMQ (tramite destinatari virtuali o compositi che combinano 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> Tradotto da: <noindex><a rel=\"nofollow\" href=\"http:\/\/tele.gg\/middle_java\">tele.gg\/middle_java<\/a><\/noindex><\/b><\/p>\n<p>La seguente 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 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\/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) 4.9.10\" \/>\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 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\/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. Studio della meccanica della messaggistica tramite ActiveMQ e Kafka. Capitolo 1 | ProHoster","description":"Ciao a tutti! Ho iniziato la traduzione di un piccolo libro: \"Understanding Message Brokers\", autore: Jakub Korab, editore: O'Reilly Media, Inc., data di pubblicazione: Giugno 2017, ISBN: 9781492049296. Dall'introduzione del libro: \"\u2026 Questo libro ti insegner\u00e0 a riflettere sui sistemi di messaggistica sui broker, confrontando e mettendo a confronto due tecnologie di broker popolari: Apache ActiveMQ e Apache Kafka. Verranno forniti esempi di utilizzo.","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 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\/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"},"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}]}}