{"id":31137,"date":"2019-10-31T21:39:40","date_gmt":"2019-10-31T18:39:40","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ignite-service-grid-perezagruzka\/"},"modified":"2019-10-31T21:39:40","modified_gmt":"2019-10-31T18:39:40","slug":"ignite-service-grid-perezagruzka","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ignite-service-grid-perezagruzka","title":{"rendered":"Ignite Service Grid \u2014 riavvio","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Il 26 febbraio abbiamo tenuto un meetup su Apache Ignite GreenSource, con la partecipazione dei contributori del progetto open source <noindex><a rel=\"nofollow\" href=\"https:\/\/ignite.apache.org\/\">Apache Ignite<\/a><\/noindex>. Un evento significativo nella vita di questa comunit\u00e0 \u00e8 stata la ristrutturazione del componente <noindex><a rel=\"nofollow\" href=\"https:\/\/ignite.apache.org\/features\/servicegrid.html\">Ignite Service Grid<\/a><\/noindex>, che consente di distribuire microservizi personalizzati direttamente nel cluster Ignite. Questo complesso processo \u00e8 stato spiegato durante il meetup da <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/daradurvs\/\">Vyacheslav Daradur<\/a><\/noindex>, ingegnere del software e contributore di Apache Ignite da oltre due anni.<\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2014 riavvio\" src=\"\/wp-content\/uploads\/2019\/04\/9054072fe26af4a45bbcae80add90a1e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nIniziamo con una panoramica di cosa sia Apache Ignite. \u00c8 un database che funge da sistema di archiviazione distribuito Key\/Value con supporto per SQL, transazionalit\u00e0 e caching. Inoltre, Ignite consente di distribuire servizi personalizzati direttamente nel cluster Ignite. Gli sviluppatori hanno accesso a tutti gli strumenti forniti da Ignite \u2014 strutture dati distribuite, Messaging, Streaming, Compute e Data Grid. Ad esempio, utilizzando il Data Grid si elimina il problema della gestione di un'infrastruttura separata per l'archiviazione dei dati e, di conseguenza, i costi associati.<\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2014 riavvio\" src=\"\/wp-content\/uploads\/2019\/04\/e3259ea6113d1c6549da556ec365b394.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUtilizzando l'API Service Grid, \u00e8 possibile distribuire un servizio semplicemente specificando nella configurazione lo schema di distribuzione e, di conseguenza, il servizio stesso.<\/p>\n<p>Di solito, lo schema di distribuzione indica il numero di istanze che devono essere distribuite sui nodi del cluster. Ci sono due schemi di distribuzione tipici. Il primo \u00e8 il Cluster Singleton: in qualsiasi momento, nel cluster sar\u00e0 garantito l'accesso a un'unica istanza del servizio utente. Il secondo \u00e8 il Node Singleton: su ciascun nodo del cluster \u00e8 distribuita un'istanza del servizio. <\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2014 riavvio\" src=\"\/wp-content\/uploads\/2019\/04\/645b2c11a95d4ad578e3c14d44894e30.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nL'utente pu\u00f2 anche specificare il numero di istanze del servizio in tutto il cluster e definire un predicato per filtrare i nodi adatti. In questo scenario, il Service Grid calcoler\u00e0 autonomamente la distribuzione ottimale per la distribuzione dei servizi.<\/p>\n<p>Inoltre, esiste una funzionalit\u00e0 chiamata Affinity Service. Affinity \u00e8 una funzione che definisce la relazione tra le chiavi e le partizioni e la relazione tra i gruppi e i nodi nella topologia. In base alla chiave, \u00e8 possibile identificare il nodo primario sul quale sono memorizzati i dati. In questo modo, puoi associare il tuo servizio con una chiave e la cache della funzione affinity. In caso di modifica della funzione affinity, si verificher\u00e0 un ridispiegamento automatico. In questo modo, il servizio sar\u00e0 sempre posizionato vicino ai dati con cui deve interagire, riducendo di conseguenza i costi di accesso alle informazioni. Questa configurazione pu\u00f2 essere definita come una sorta di calcolo collocato.<\/p>\n<p>Ora che abbiamo esaminato i vantaggi del Service Grid, parleremo della sua storia di evoluzione.<\/p>\n<h2>Cosa c'era prima<\/h2>\n<p>\nLa precedente implementazione del Service Grid si basava su una cache di sistema replicata e transazionale chiamata Ignite. Con la parola \u00abcache\u00bb in Ignite si intende un'archiviazione. Quindi, non si tratta di qualcosa di temporaneo, come si potrebbe pensare. Anche se la cache \u00e8 replicata e ogni nodo contiene l'intero set di dati, all'interno la cache ha una rappresentazione partizionata. Questo \u00e8 legato all'ottimizzazione degli archivi. <\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2014 riavvio\" src=\"\/wp-content\/uploads\/2019\/04\/ce452b6f16aa7b3207648eed45fa6576.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCosa succedeva quando l'utente voleva deployare un servizio?<\/p>\n<ul>\n<li>Tutti i nodi nel cluster si iscrivevano agli aggiornamenti dei dati nel deposito attraverso un meccanismo integrato di Continuous Query.\n<\/li>\n<li>Il nodo inziatore, sotto una transazione read-committed, faceva una scrittura nel database contenente la configurazione del servizio, inclusa l'istanza serializzata.\n<\/li>\n<li>All'arrivo della notifica di una nuova registrazione, il coordinatore calcolava la distribuzione in base alla configurazione. L'oggetto ottenuto veniva scritto nuovamente nel database.\n<\/li>\n<li>Se il nodo rientrava nella distribuzione, il coordinatore doveva deployarlo.\n<\/li>\n<\/ul>\n<p><\/p>\n<h2>Cosa non ci soddisfaceva<\/h2>\n<p>\nA un certo punto, abbiamo concluso che non era possibile lavorare cos\u00ec con i servizi. Ci sono state diverse motivazioni.<\/p>\n<p>Se durante il deployment si \u00e8 verificato un errore, era possibile scoprirlo solo dai log del nodo in cui \u00e8 avvenuto. Esisteva solo il deployment asincrono, quindi dopo il rilascio del controllo all'utente da parte del metodo di deployment, era necessario un ulteriore tempo per l'avvio del servizio, durante il quale l'utente non poteva gestire nulla. Per sviluppare ulteriormente il Service Grid, implementare nuove funzionalit\u00e0, attrarre nuovi utenti e semplificare la vita a tutti, \u00e8 necessario apportare dei cambiamenti.<\/p>\n<p>Nella progettazione del nuovo Service Grid, la nostra priorit\u00e0 era garantire un deployment sincrono: non appena il controllo torna all'utente dall'API, pu\u00f2 immediatamente utilizzare i servizi. Volevamo anche fornire all'initiatore la possibilit\u00e0 di gestire gli errori di deployment.<\/p>\n<p>Inoltre, volevamo semplificare l'implementazione, allontanandoci dalle transazioni e dal bilanciamento. Nonostante la cache sia replicata e non ci sia bilanciamento, durante un grande deployment con molti nodi si presentavano problemi. Durante la modifica della topologia, i nodi devono scambiarsi informazioni e in caso di un grande deployment, questi dati possono pesare molto.<\/p>\n<p>Quando la topologia era instabile, era necessario ricalcolare la distribuzione dei servizi. In generale, lavorare con transazioni su una topologia instabile pu\u00f2 portare a errori difficili da prevedere.<\/p>\n<h2>Problemi<\/h2>\n<p>\nQuali grandi cambiamenti possono avvenire senza problemi associati? Il primo di questi \u00e8 stato il cambiamento della topologia. \u00c8 importante capire che, in qualsiasi momento, anche durante il deployment di un servizio, un nodo pu\u00f2 unirsi o uscire dal cluster. Inoltre, se durante il deployment un nodo entra nel cluster, sar\u00e0 necessario trasmettere in modo consistente tutte le informazioni sui servizi al nuovo nodo. Non si tratta solo di ci\u00f2 che \u00e8 gi\u00e0 stato distribuito, ma anche dei deployment correnti e futuri.<\/p>\n<p>Questa \u00e8 solo una delle problematiche che possiamo raccogliere in un elenco separato:<\/p>\n<ul>\n<li>Come distribuire servizi configurati staticamente all'avvio di un nodo?\n<\/li>\n<li>Cosa fare se un nodo esce dal cluster e ospitava servizi?\n<\/li>\n<li>Cosa fare se il coordinatore \u00e8 cambiato?\n<\/li>\n<li>Cosa fare se un client si riconnette al cluster?\n<\/li>\n<li>\u00c8 necessario gestire le richieste di attivazione\/disattivazione e come?\n<\/li>\n<li>E se abbiamo chiamato distruzione della cache, ma abbiamo servizi affini legati ad essa?\n<\/li>\n<\/ul>\n<p>\nE questo non \u00e8 affatto tutto. <\/p>\n<h2>Soluzione<\/h2>\n<p>\nCome obiettivo, abbiamo scelto l'approccio Event Driven, implementando la comunicazione tra processi tramite messaggi. In Ignite sono gi\u00e0 stati realizzati due componenti che consentono ai nodi di scambiare messaggi tra loro: communication-spi e discovery-spi.<\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2014 riavvio\" src=\"\/wp-content\/uploads\/2019\/04\/b95a4951ae4e04a67581a44921e88bcc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIl communication-spi consente ai nodi di comunicare direttamente e inviare messaggi. \u00c8 particolarmente adatto per la trasmissione di grandi volumi di dati. Il discovery-spi permette di inviare un messaggio a tutti i nodi del cluster. Nella sua implementazione standard, ci\u00f2 avviene secondo la topologia 'anello'. Esiste anche un'integrazione con Zookeeper, in questo caso viene utilizzata la topologia 'stella'. Vale la pena sottolineare un aspetto importante: il discovery-spi fornisce garanzie che il messaggio verr\u00e0 consegnato nell'ordine corretto a tutti i nodi. <\/p>\n<p>Consideriamo il protocollo di deployment. Tutte le richieste degli utenti per il deployment e il rollback vengono inviate tramite discovery-spi. Questo offre le seguenti <i>garanzie<\/i>:<\/p>\n<ul>\n<li>La richiesta sar\u00e0 ricevuta da tutti i nodi del cluster. Questo consentir\u00e0 di continuare l'elaborazione della richiesta durante il cambio di coordinatore. Inoltre, ci\u00f2 significa che per ogni messaggio, ogni nodo avr\u00e0 tutte le informazioni necessarie, come la configurazione del servizio e la sua istanza serializzata.\n<\/li>\n<li>L'ordine rigoroso di consegna dei messaggi consente di risolvere i conflitti di configurazione e le richieste concorrenti.\n<\/li>\n<li>Poich\u00e9 l'ingresso di un nodo nella topologia viene elaborato anche tramite discovery-spi, un nuovo nodo ricever\u00e0 tutti i dati necessari per lavorare con i servizi.\n<\/li>\n<\/ul>\n<p>\nQuando un nodo riceve una richiesta, essa viene validata e si formano compiti per l'elaborazione. Questi compiti vengono messi in coda e successivamente elaborati in un altro thread da un worker separato. Questo \u00e8 realizzato in questo modo perch\u00e9 il deployment pu\u00f2 richiedere un tempo significativo e ritardare un costoso flusso di discovery \u00e8 inaccettabile.<\/p>\n<p>Tutte le richieste in coda sono elaborate dal deployment manager. Questo ha un worker speciale che prende un compito da questa coda e lo inizializza per avviare il deployment. Dopodich\u00e9 si svolgono le seguenti azioni:<\/p>\n<ol>\n<li>Ogni nodo calcola autonomamente la distribuzione grazie alla nuova funzione di assegnazione deterministica.\n<\/li>\n<li>I nodi formano un messaggio con i risultati del deployment e lo inviano al coordinatore.\n<\/li>\n<li>Il coordinatore aggrega tutti i messaggi e formula il risultato dell'intero processo di deployment, che viene inviato tramite discovery-spi a tutti i nodi nel cluster.\n<\/li>\n<li>Una volta ricevuto il risultato, il processo di deployment si conclude, dopodich\u00e9 il compito viene rimosso dalla coda.\n<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Ignite Service Grid \u2014 riavvio\" src=\"\/wp-content\/uploads\/2019\/04\/5f16bfae25e00c2e125be8fedb7cccb7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Nuovo design event-driven: org.apache.ignite.internal.processors.service.IgniteServiceProcessor.java<\/i><\/p>\n<p>Se si verifica un errore durante il deployment, il nodo include immediatamente questo errore nel messaggio che invia al coordinatore. Dopo l'aggregazione dei messaggi, il coordinatore avr\u00e0 informazioni su tutti gli errori durante il deployment e invier\u00e0 questo messaggio tramite discovery-spi. Le informazioni sugli errori saranno accessibili su qualsiasi nodo del cluster. <\/p>\n<p>Secondo questo algoritmo di lavoro vengono trattati tutti gli eventi significativi nel Service Grid. Ad esempio, il cambiamento di topologia \u00e8 anch'esso un messaggio tramite discovery-spi. In generale, rispetto a ci\u00f2 che c'era prima, il protocollo risulta sufficientemente leggero e affidabile, tanto da gestire qualsiasi situazione durante il deployment. <\/p>\n<h2>Cosa succede dopo<\/h2>\n<p>\nOra parliamo dei piani. Qualsiasi grande modifica nel progetto Ignite viene realizzata come iniziativa di miglioramento di Ignite, chiamata IEP. Anche il redesign del Service Grid ha un IEP \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/cwiki.apache.org\/confluence\/display\/IGNITE\/IEP-17%3A+Oil+Change+in+Service+Grid\">IEP n. 17<\/a><\/noindex> con il divertente titolo \u00abSostituzione dell'olio nel Service Grid\u00bb. Ma in realt\u00e0 abbiamo cambiato non solo l'olio nel motore, ma l'intero motore. <\/p>\n<p>Abbiamo suddiviso le attivit\u00e0 nell'IEP in due fasi. La prima \u00e8 la fase principale, che consiste nella revisione del protocollo di deployment. \u00c8 gi\u00e0 stata integrata nel master, puoi provare il nuovo Service Grid che apparir\u00e0 nella versione 2.8. La seconda fase include diverse altre attivit\u00e0:<\/p>\n<ul>\n<li>Redeploy caldo\n<\/li>\n<li>Versionamento dei servizi\n<\/li>\n<li>Aumento della resilienza\n<\/li>\n<li>Client leggero\n<\/li>\n<li>Strumenti di monitoraggio e conteggio di varie metriche\n<\/li>\n<\/ul>\n<p>\nInfine, possiamo consigliarti il Service Grid per costruire sistemi ad alta disponibilit\u00e0 e resilienza. Ti invitiamo anche a unirti a noi su <noindex><a rel=\"nofollow\" href=\"mailto:dev@ignite.apache.org\">dev-list<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"mailto:user@ignite.apache.org\">user-list<\/a><\/noindex> per condividere la tua esperienza. La tua esperienza \u00e8 davvero importante per la comunit\u00e0, aiuter\u00e0 a capire in quale direzione andare e come sviluppare il componente in futuro.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sberbank\/blog\/447264\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>26 \u0444\u0435\u0432\u0440\u0430\u043b\u044f \u043c\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0438 \u043c\u0438\u0442\u0430\u043f Apache Ignite GreenSource, \u0433\u0434\u0435 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u043b\u0438 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0435\u0440\u044b open source \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Apache Ignite. \u0412\u0430\u0436\u043d\u044b\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435\u043c \u0432 \u0436\u0438\u0437\u043d\u0438 \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0441\u0442\u0430\u043b\u0430 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 Ignite Service Grid, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043f\u0440\u044f\u043c\u043e \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Ignite. \u041e\u0431 \u044d\u0442\u043e\u043c \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043d\u0430 \u043c\u0438\u0442\u0430\u043f\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u0412\u044f\u0447\u0435\u0441\u043b\u0430\u0432 \u0414\u0430\u0440\u0430\u0434\u0443\u0440, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438 \u0443\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0435\u0440 Apache [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":23105,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-31137","post","type-post","status-publish","format-standard","has-post-thumbnail","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=\"26 \u0444\u0435\u0432\u0440\u0430\u043b\u044f \u043c\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0438 \u043c\u0438\u0442\u0430\u043f Apache Ignite GreenSource, \u0433\u0434\u0435 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u043b\u0438 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0435\u0440\u044b open source \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Apache Ignite. \u0412\u0430\u0436\u043d\u044b\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435\u043c \u0432 \u0436\u0438\u0437\u043d\u0438 \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0441\u0442\u0430\u043b\u0430 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 Ignite Service Grid, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043f\u0440\u044f\u043c\u043e \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Ignite. \u041e\u0431 \u044d\u0442\u043e\u043c \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043d\u0430 \u043c\u0438\u0442\u0430\u043f\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u0412\u044f\u0447\u0435\u0441\u043b\u0430\u0432 \u0414\u0430\u0440\u0430\u0434\u0443\u0440, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438 \u0443\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0435\u0440 Apache\" \/>\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\/ignite-service-grid-perezagruzka\" \/>\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\udd47Ignite Service Grid \u2014 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"26 \u0444\u0435\u0432\u0440\u0430\u043b\u044f \u043c\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0438 \u043c\u0438\u0442\u0430\u043f Apache Ignite GreenSource, \u0433\u0434\u0435 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u043b\u0438 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0435\u0440\u044b open source \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Apache Ignite. \u0412\u0430\u0436\u043d\u044b\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435\u043c \u0432 \u0436\u0438\u0437\u043d\u0438 \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0441\u0442\u0430\u043b\u0430 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 Ignite Service Grid, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043f\u0440\u044f\u043c\u043e \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Ignite. \u041e\u0431 \u044d\u0442\u043e\u043c \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043d\u0430 \u043c\u0438\u0442\u0430\u043f\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u0412\u044f\u0447\u0435\u0441\u043b\u0430\u0432 \u0414\u0430\u0440\u0430\u0434\u0443\u0440, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438 \u0443\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0435\u0440 Apache\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ignite-service-grid-perezagruzka\" \/>\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-31T18:39:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:39:40+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\udd47Ignite Service Grid \u2014 rilancio | ProHoster","description":"Il 26 febbraio abbiamo organizzato un meetup di Apache Ignite GreenSource, durante il quale hanno partecipato i contributori del progetto open source Apache Ignite. Un evento importante per la comunit\u00e0 \u00e8 stata la ristrutturazione del componente Ignite Service Grid, che consente di distribuire microservizi personalizzati direttamente nel cluster Ignite. Di questo processo complesso ha parlato durante il meetup Vyacheslav Daradur, ingegnere software e contributore di Apache da oltre due anni.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ignite-service-grid-perezagruzka","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\udd47Ignite Service Grid \u2014 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 | ProHoster","og:description":"26 \u0444\u0435\u0432\u0440\u0430\u043b\u044f \u043c\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0438 \u043c\u0438\u0442\u0430\u043f Apache Ignite GreenSource, \u0433\u0434\u0435 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u043b\u0438 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0435\u0440\u044b open source \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Apache Ignite. \u0412\u0430\u0436\u043d\u044b\u043c \u0441\u043e\u0431\u044b\u0442\u0438\u0435\u043c \u0432 \u0436\u0438\u0437\u043d\u0438 \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0441\u0442\u0430\u043b\u0430 \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 Ignite Service Grid, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043f\u0440\u044f\u043c\u043e \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Ignite. \u041e\u0431 \u044d\u0442\u043e\u043c \u043d\u0435\u043f\u0440\u043e\u0441\u0442\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043d\u0430 \u043c\u0438\u0442\u0430\u043f\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u0412\u044f\u0447\u0435\u0441\u043b\u0430\u0432 \u0414\u0430\u0440\u0430\u0434\u0443\u0440, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438 \u0443\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u043a\u043e\u043d\u0442\u0440\u0438\u0431\u044c\u044e\u0442\u0435\u0440 Apache","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/ignite-service-grid-perezagruzka","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-31T18:39:40+00:00","article:modified_time":"2019-10-31T18:39:40+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"31137","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 04:41:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:16:35","updated":"2026-01-21 04:41:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/31137","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=31137"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/31137\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/23105"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=31137"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=31137"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=31137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}