{"id":34891,"date":"2019-10-31T22:01:07","date_gmt":"2019-10-31T19:01:07","guid":{"rendered":"https:\/\/prohoster.info\/blog\/dostupna-sistema-raspredelyonnyh-vychislenij-apache-storm-2-0\/"},"modified":"2019-10-31T22:01:07","modified_gmt":"2019-10-31T19:01:07","slug":"dostupna-sistema-raspredelyonnyh-vychislenij-apache-storm-2-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/dostupna-sistema-raspredelyonnyh-vychislenij-apache-storm-2-0","title":{"rendered":"Disponibile il sistema di calcolo distribuito Apache Storm 2.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"http:\/\/storm.apache.org\/2019\/05\/30\/storm200-released.html\">\u00c8 stato pubblicato<\/a><\/noindex> importante rilascio del sistema di elaborazione distribuita degli eventi <noindex><a rel=\"nofollow\" href=\"http:\/\/storm.apache.org\/\">Apache Storm 2.0<\/a><\/noindex>, caratterizzato da una transizione verso una nuova architettura realizzata in Java, invece del precedente linguaggio Clojure. <\/p>\n<p>Il progetto consente di organizzare un'elaborazione garantita di vari eventi in tempo reale. Ad esempio, Storm pu\u00f2 essere utilizzato per analizzare flussi di dati in tempo reale, eseguire compiti di machine learning, organizzare calcoli continui, implementare RPC, ETL, ecc. Il sistema supporta la clustering, la creazione di configurazioni a prova di guasto, la modalit\u00e0 di elaborazione garantita dei dati e offre alte prestazioni, sufficienti a gestire oltre un milione di richieste al secondo su un singolo nodo del cluster. <\/p>\n<p>\u00c8 supportata l'integrazione con vari sistemi di elaborazione delle code e tecnologie di database. L'architettura di Storm prevede l'accettazione e l'elaborazione di flussi di dati non strutturati, continuamente aggiornati, utilizzando complessi elaboratori arbitrari con capacit\u00e0 di partizionamento tra le diverse fasi di calcolo. Il progetto \u00e8 stato trasferito alla comunit\u00e0 Apache dopo l'acquisizione di Twitter di BackType, l'azienda che originariamente ha sviluppato il framework. Nella pratica, Storm \u00e8 stato utilizzato in BackType per analizzare il riflesso degli eventi nei microblog, confrontando al volo nuovi tweet e i link utilizzati in essi (ad esempio, veniva valutato come i link esterni o gli annunci pubblicati su Twitter venivano ripubblicati da altri partecipanti). <\/p>\n<p>La funzionalit\u00e0 di Storm \u00e8 paragonabile a quella della piattaforma Hadoop, con la chiara differenza che i dati non sono memorizzati in un archivio, ma arrivano da fonti esterne e vengono elaborati in tempo reale. In Storm non esiste uno strato integrato per l'organizzazione dell'archiviazione e le query analitiche vengono applicate ai dati in arrivo fino a quando non vengono annullate (mentre in Hadoop si utilizzano lavori MapReduce che impiegano tempo definito, in Storm si applica l'idea di 'topologie' continuamente eseguite). L'esecuzione dei processori pu\u00f2 essere distribuita su pi\u00f9 server; Storm parallelizza automaticamente il lavoro sui flussi su diversi nodi del cluster. <\/p>\n<p>Inizialmente, il sistema era scritto in Clojure e viene eseguito all'interno della macchina virtuale JVM. Nel fondo Apache \u00e8 stata avviata un'iniziativa per portare Storm su un nuovo nucleo, scritto in Java, i cui risultati sono presentati nella versione Apache Storm 2.0. Tutti i componenti di base della piattaforma sono stati riscritti in Java. Il supporto per la scrittura di gestori in Clojure \u00e8 rimasto, ma ora \u00e8 proposto sotto forma di binding. Per utilizzare Storm 2.0.0 \u00e8 necessaria Java 8. \u00c8 stata completamente ripensata la modellazione del trattamento multithreading, il che ha permesso <noindex><a rel=\"nofollow\" href=\"https:\/\/yahoodevelopers.tumblr.com\/post\/185258393008\/apache-storm-20-improvements\">anche attraverso l'attributo packed. Considerando che contribuisce anche all'ottimizzazione dello spazio occupato dalla struttura, questo metodo mi sembra preferibile, anche se<\/a><\/noindex> un notevole incremento delle prestazioni (per alcune topologie, i ritardi sono stati ridotti del 50-80%).<\/p>\n<p><center><noindex><a rel=\"nofollow\" href=\"https:\/\/69.media.tumblr.com\/3f630f757d60a09d5f50c78938262b61\/tumblr_inline_pscc4bXpK91wxhpzr_500.png\"><img decoding=\"async\" alt=\"Disponibile il sistema di calcolo distribuito Apache Storm 2.0\" src=\"\/wp-content\/uploads\/2019\/06\/b59ad4ac2234ca882718d30679f2e85e.png\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><\/p>\n<p>Nella nuova versione \u00e8 stato anche proposto un API Streams tipizzata, che consente di definire gestori utilizzando operazioni in stile programmazione funzionale. Il nuovo API \u00e8 implementato sopra l'API di base standard ed \u00e8 dotato di un raggruppamento automatico delle operazioni per ottimizzarne l'elaborazione. Nell'API Windowing per le operazioni a finestre \u00e8 stata aggiunta la possibilit\u00e0 di salvare e ripristinare lo stato nel backend. <\/p>\n<p>Nel pianificatore di avvio dei gestori \u00e8 stato aggiunto il supporto per il conteggio di risorse aggiuntive nelle decisioni, non limitandosi<br \/>\n a CPU e memoria, ma comprendendo anche parametri di rete e GPU. Sono state apportate numerose migliorie relative all'integrazione con la piattaforma <noindex><a rel=\"nofollow\" href=\"http:\/\/kafka.apache.org\/\">Kafka<\/a><\/noindex>. \u00c8 stato ampliato il sistema di controllo degli accessi, nel quale \u00e8 stata introdotta la possibilit\u00e0 di creare gruppi di amministratori e delegare token. Sono stati aggiunti miglioramenti relativi al supporto per SQL e metriche. Nell'interfaccia dell'amministratore sono comparse nuove comandi per il debug dello stato del cluster.<\/p>\n<p>Ambiti di applicazione di Storm:\n<\/p>\n<ul>\n<li class=\"l\"> Elaborazione di flussi di nuovi dati o aggiornamenti del DB in tempo reale;\n<\/li>\n<li class=\"l\"> Calcoli continui: Storm pu\u00f2 eseguire query continue e elaborare flussi continui, inviando i risultati del trattamento al cliente in tempo reale.\n<\/li>\n<li class=\"l\"> Chiamata procedurale remota distribuita (RPC): Storm pu\u00f2 essere utilizzato per garantire il parallelismo nell'esecuzione di richieste intensive in termini di risorse. Un compito ('topologia') in Storm rappresenta una funzione distribuita sui nodi che attende l'arrivo dei messaggi da elaborare. Dopo la ricezione di un messaggio, la funzione lo elabora nel contesto locale e restituisce il risultato. Un esempio di utilizzo dell'RPC distribuito pu\u00f2 essere l'elaborazione parallela di query di ricerca o l'esecuzione di operazioni su un ampio insieme di insiemi.\n<\/li>\n<\/ul>\n<p>Caratteristiche di Storm:<\/p>\n<ul>\n<li class=\"l\"> Modello di programmazione semplice, che semplifica notevolmente l'elaborazione dei dati in tempo reale;\n<\/li>\n<li class=\"l\"> Supporto per qualsiasi linguaggio di programmazione. Sono disponibili moduli per i linguaggi Java, Ruby e Python; l'adattamento per altri linguaggi non presenta difficolt\u00e0 grazie a un protocollo di comunicazione molto semplice, la cui implementazione richiede circa 100 righe di codice;\n<\/li>\n<li class=\"l\"> Tolleranza agli errori: per avviare un compito di elaborazione dei dati \u00e8 necessario creare un file jar con il codice. Storm distribuir\u00e0 automaticamente questo file jar sui nodi del cluster, collegher\u00e0 i gestori correlati e organizzer\u00e0 il monitoraggio. Al termine del compito, il codice verr\u00e0 automaticamente disattivato su tutti i nodi;\n<\/li>\n<li class=\"l\"> Scalabilit\u00e0 orizzontale. Tutti i calcoli vengono eseguiti in parallelo e, con l'aumento del carico, basta semplicemente collegare nuovi nodi al cluster;\n<\/li>\n<li class=\"l\"> Affidabilit\u00e0. Storm garantisce che ogni messaggio in arrivo venga completamente elaborato almeno una volta. Un messaggio verr\u00e0 elaborato una sola volta in assenza di errori durante il passaggio attraverso tutti i gestori; in caso di problemi, i tentativi di elaborazione non riusciti verranno ripetuti.\n<\/li>\n<li class=\"l\"> Velocit\u00e0. Il codice di Storm \u00e8 stato scritto tenendo presente l'alta performance e utilizza un sistema per uno scambio di messaggi veloce e asincrono. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=27137\">ZeroMQ<\/a><\/noindex>.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=50796\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0423\u0432\u0438\u0434\u0435\u043b \u0441\u0432\u0435\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 Apache Storm 2.0, \u043f\u0440\u0438\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u043c \u043d\u0430 \u043d\u043e\u0432\u0443\u044e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Java, \u0432\u043c\u0435\u0441\u0442\u043e \u0440\u0430\u043d\u0435\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 Clojure. \u041f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Storm \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447 \u0434\u043b\u044f \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f, \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u044b\u0445 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26265,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-34891","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0423\u0432\u0438\u0434\u0435\u043b \u0441\u0432\u0435\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439\" \/>\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\/news\/dostupna-sistema-raspredelyonnyh-vychislenij-apache-storm-2-0\" \/>\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\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 Apache Storm 2.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0423\u0432\u0438\u0434\u0435\u043b \u0441\u0432\u0435\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/dostupna-sistema-raspredelyonnyh-vychislenij-apache-storm-2-0\" \/>\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:01:07+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:01:07+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\udd47\u00c8 disponibile il sistema di calcolo distribuito Apache Storm 2.0 | ProHoster","description":"\u00c8 stata rilasciata una significativa versione del sistema di elaborazione distribuita degli eventi.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/dostupna-sistema-raspredelyonnyh-vychislenij-apache-storm-2-0","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\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 Apache Storm 2.0 | ProHoster","og:description":"\u0423\u0432\u0438\u0434\u0435\u043b \u0441\u0432\u0435\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0439","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/dostupna-sistema-raspredelyonnyh-vychislenij-apache-storm-2-0","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:01:07+00:00","article:modified_time":"2019-10-31T19:01:07+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34891","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-21 20:59:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:13:27","updated":"2026-01-21 20:59:20","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\/34891","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=34891"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/34891\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/26265"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=34891"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=34891"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=34891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}