{"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\/et\/blog\/administrirovanie\/ignite-service-grid-perezagruzka","title":{"rendered":"Ignite Service Grid \u2013 taask\u00e4ivitamine","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>26. veebruaril korraldasime Apache Ignite GreenSource'i kohtumise, kus esinesid avatud l\u00e4htekoodiga projekti panustajad. <noindex><a rel=\"nofollow\" href=\"https:\/\/ignite.apache.org\/\">Apache Ignite<\/a><\/noindex>. Selle kogukonna jaoks oli oluline s\u00fcndmus komponendi <noindex><a rel=\"nofollow\" href=\"https:\/\/ignite.apache.org\/features\/servicegrid.html\">Ignite Service Grid<\/a><\/noindex>, mille abil saab kasutaja mikroteenuseid otse Ignite'i klastri sisse juurutada. Sellest keerulisest protsessist r\u00e4\u00e4kis kohtumisel <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/daradurvs\/\">Vyacheslav Daradur<\/a><\/noindex>, tarkvarainsener ja \u00fcle kahe aasta Apache Ignite'i kaast\u00f6\u00f6taja.<\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2013 taask\u00e4ivitamine\" 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 \/>\nAlustame sellest, mis asi on Apache Ignite \u00fcldse. See on andmebaas, mis esindab jaotatud Key\/Value salvestusruumi, mis toetab SQL-i, tehingutek\u00e4itlemist ja vahem\u00e4lumist. Lisaks v\u00f5imaldab Ignite kasutajateenuste juurutamist otse Ignite'i klastri sees. Arendajatele on k\u00e4tkestatud k\u00f5ik Ignite'i pakutavad t\u00f6\u00f6riistad \u2014 jaotatud andmestruktuurid, s\u00f5numiedastus, voog ja arvutus ning andmev\u00f5rk. N\u00e4iteks, kasutades andmev\u00f5rku, kaob vajadus hallata eraldi infrastruktuuri andmehoidla jaoks, mille tulemusena v\u00e4heneb sellega seotud kulu.<\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2013 taask\u00e4ivitamine\" src=\"\/wp-content\/uploads\/2019\/04\/e3259ea6113d1c6549da556ec365b394.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKasutades Service Gridi API-t, saab teenuse juurutada, lihtsalt m\u00e4\u00e4rates konfiguratsioonis juurutusskeemi ja vastava teenuse.<\/p>\n<p>Tavaliselt on juurutusskeem \u2014 see, kui palju instantsi peaks klastri s\u00f5lmedes olema. On kaks t\u00fc\u00fcpilist juurutusskeemi. Esiteks on Cluster Singleton: igal ajal on klastris garanteeritult ainult \u00fcks kasutajateenuse eksemplar. Teiseks on Node Singleton: igas klastris\u00f5lmes on \u00fcks teenuse eksemplar. <\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2013 taask\u00e4ivitamine\" src=\"\/wp-content\/uploads\/2019\/04\/645b2c11a95d4ad578e3c14d44894e30.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKasutaja saab m\u00e4\u00e4rata teenuse instantside arvu kogu klastri ulatuses ja m\u00e4\u00e4rata predikaadi sobivate s\u00f5lmede filtreerimiseks. Sellise stsenaariumi korral arvutab Service Grid ise v\u00e4lja optimiseeritud jaotuse teenuste juurutamiseks.<\/p>\n<p>Lisaks on olemas selline funktsioon nagu Affinity Service. Affinity on funktsioon, mis m\u00e4\u00e4rab v\u00f5tmete seose partitsioonidega ja partii seose s\u00f5lmedega topoloogias. V\u00f5tme abil saab m\u00e4\u00e4rata primaarse s\u00f5lme, kus andmed asuvad. Nii saab seostada oma teenuse v\u00f5tmega ja affinity-funktsiooni vahem\u00e4lu. Kui affinity-funktsioon muutub, toimub automaatne redeploy. Nii on teenus alati paigutatud l\u00e4hedale andmetele, millega see peab manipuleerima, v\u00e4hendades seel\u00e4bi juurdep\u00e4\u00e4su kulusid. Sellist skeemi v\u00f5ib nimetada teatud t\u00fc\u00fcpi kolokatsioonide arvutusteks.<\/p>\n<p>N\u00fc\u00fcd, kui oleme uurinud, milles seisneb Service Grid v\u00f5lu, r\u00e4\u00e4gime selle arenguloost.<\/p>\n<h2>Mis oli varem<\/h2>\n<p>\nEelmine Service Grid'i rakendus p\u00f5hines tehingureplikatsioonil p\u00f5hineval s\u00fcsteemi vahem\u00e4lul Ignite. S\u00f5na \"vahem\u00e4lu\" all m\u00f5istetakse Ignites andmesalvestust. See ei ole midagi ajutist, nagu v\u00f5iks arvata. Kuigi vahem\u00e4lu on replikatsiooni all ja igas s\u00f5lmes on kogu andmekogum, on vahem\u00e4lu sees partitsioneeritud esitus. See on seotud salvestuste optimeerimisega. <\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2013 taask\u00e4ivitamine\" src=\"\/wp-content\/uploads\/2019\/04\/ce452b6f16aa7b3207648eed45fa6576.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMis juhtus, kui kasutaja soovis teenust v\u00e4lja panna?<\/p>\n<ul>\n<li>K\u00f5ik s\u00f5lmed klastris registreerisid end andmete muutuste j\u00e4lgimiseks salvestuses, kasutades sisseehitatud mehhanismi Continuous Query.\n<\/li>\n<li>Algatava s\u00f5lme read-committed tehingu kaudu tegi andmebaasi kirje, mis sisaldas teenuse konfiguratsiooni, sealhulgas serialiseeritud eksemplari.\n<\/li>\n<li>Uue kirje teavitamisel arvutas koordinaator jaotuse vastavalt konfiguratsioonile. Saadud objekt kirjutati tagasi andmebaasi.\n<\/li>\n<li>Kui s\u00f5lm kuulus jaotusse, pidi koordinaator selle v\u00e4lja panema.\n<\/li>\n<\/ul>\n<p><\/p>\n<h2>Mis meid ei rahuldanud<\/h2>\n<p>\nM\u00f5nes etapis j\u00f5udsime j\u00e4reldusele: teenustega ei saa nii t\u00f6\u00f6tada. P\u00f5hjuseid oli mitu.<\/p>\n<p>Kui juurutamise ajal toimus m\u00f5ni viga, sai sellest teada ainult selle s\u00f5lme logidest, kus see juhtus. Eksisteeris ainult as\u00fcnkroonne juurutamine, seega p\u00e4rast kasutaja juhtimise tagastamist juurutamismeetodist vajas teenuse k\u00e4ivitamine veel veidi aega \u2014 ja selle aja jooksul ei saanud kasutaja midagi juhtida. Et Service Grid'i edasi arendada, uusi funktsioone rakendada, uusi kasutajaid kaasata ja k\u00f5igi elu lihtsamaks teha, oli vaja midagi muuta.<\/p>\n<p>Uue Service Grid'i projekteerimisel soovisime k\u00f5igepealt tagada s\u00fcnkroonse juurutamise: kui kasutaja saab API kaudu juhtimise tagasi, saab ta kohe teenuseid kasutada. Soovisime anda algatajatele ka v\u00f5imaluse juurutamise vigu t\u00f6\u00f6delda.<\/p>\n<p>Samuti soovisime rakendamise lihtsustamist, nimelt loobuda tehingutest ja taaskaalutamisest. Kuigi vahem\u00e4lu on replikeeritud ja tasakaalu ei ole, esines suurtel juurutustel mitmete s\u00f5lmede vahel probleeme. S\u00f5lmed peavad teavet vahetama topoloogia muutmisel ja suurte juurutuste korral v\u00f5ivad need andmed olla v\u00e4ga mahukad.<\/p>\n<p>Kui topoloogia oli ebastabiilne, vajas koordineerija teenuste jaotuse uuesti arvutamiseks. \u00dcldiselt, kui tuleb t\u00f6\u00f6tada tehingutega ebastabiilses topoloogias, v\u00f5ivad need viia keerukalt prognoositavate vigadeni.<\/p>\n<h2>Probleemid<\/h2>\n<p>\nMillised suured muutused oleksid ilma kaasnevate probleemideta? Esimene neist oli topoloogia muutus. Tuleb m\u00f5ista, et igal ajal, isegi teenuse juurutamise hetkel, v\u00f5ib s\u00f5lm j\u00f5uda klastrisse v\u00f5i sellest v\u00e4lja minna. Veelgi enam, kui juurutamise hetkel liitub s\u00f5lm klastriga, on vajalik kogu teenuste teabe j\u00e4rjepidev edastamine uuele s\u00f5lmele. Ja jutt ei k\u00e4i ainult sellest, mis on juba juurutatud, vaid ka praegustest ja tulevastest juurutustest.<\/p>\n<p>See on vaid \u00fcks probleem, mille v\u00f5iks eraldi nimekirja koostada:<\/p>\n<ul>\n<li>Kuidas juurutada staatiliselt konfigureeritud teenuseid s\u00f5lme k\u00e4ivitamisel?\n<\/li>\n<li>S\u00f5lme v\u00e4ljumine klastrist \u2013 mida teha, kui s\u00f5lm majutas teenuseid?\n<\/li>\n<li>Mida teha, kui koordineerija on vahetunud?\n<\/li>\n<li>Mida teha, kui klient on klastriga uuesti \u00fchendatud?\n<\/li>\n<li>Kas tuleb t\u00f6\u00f6delda aktiveerimise\/deaktiveerimise p\u00e4ringuid ja kuidas?\n<\/li>\n<li>Aga mis juhtub, kui h\u00e4vitamisp\u00e4ring saatakse vahem\u00e4lule, mida on seotud affiniteedi teenustega?\n<\/li>\n<\/ul>\n<p>\nJa see ei ole kaugeltki k\u00f5ik. <\/p>\n<h2>Lahendus<\/h2>\n<p>\nSihtm\u00e4rgiks valisime s\u00fcndmustel p\u00f5hineva l\u00e4henemise, rakendades protsesside vahelist suhtlust s\u00f5numite kaudu. Ignite'is on juba rakendatud kaks komponente, mis v\u00f5imaldavad s\u00f5lmedel \u00fcksteisele s\u00f5numeid edastada \u2014 communication-spi ja discovery-spi.<\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2013 taask\u00e4ivitamine\" src=\"\/wp-content\/uploads\/2019\/04\/b95a4951ae4e04a67581a44921e88bcc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCommunication-spi v\u00f5imaldab s\u00f5lmedel omavahel otse suhelda ja s\u00f5numeid edastada. See sobib h\u00e4sti suurte andmemahtude edastamiseks. Discovery-spi v\u00f5imaldab saata s\u00f5numi k\u00f5igile klastris olevatele s\u00f5lmedele. T\u00fc\u00fcpilises rakenduses toimub see \u00abring\u00bb topoloogia kaudu. On ka integreerimine Zookeeperiga, mille puhul kasutatakse \u00abt\u00e4ht\u00bb topoloogiat. Tasub mainida ka \u00fchte olulist hetke: discovery-spi annab garantii, et s\u00f5numid toimetatakse \u00f5iges j\u00e4rjekorras k\u00f5igile s\u00f5lmedele. <\/p>\n<p>Vaatame saatmisprotokolli. K\u00f5ik kasutaja saatmis- ja t\u00fchistamissoovid saadetakse discovery-spi kaudu. See annab j\u00e4rgmised <i>garantiid<\/i>:<\/p>\n<ul>\n<li>P\u00e4ring j\u00f5uab k\u00f5igi klastris olevate s\u00f5lmedeni. See v\u00f5imaldab j\u00e4tkata p\u00e4ringu t\u00f6\u00f6tlemist koordinaatori vahetamisel. Samuti t\u00e4hendab see, et iga s\u00f5numi puhul on igal s\u00f5lmel k\u00f5ik vajalikud metaandmed, nagu teenuse konfiguratsioon ja selle serialiseeritud eksemplar.\n<\/li>\n<li>S\u00f5numite ranget j\u00e4rjekorra edastamist saab kasutada konfiguratsioonide ja konkurentsiv\u00f5imeliste p\u00e4ringute konfliktide lahendamiseks.\n<\/li>\n<li>Kuna s\u00f5lme sisenemine topoloogiasse t\u00f6\u00f6deldakse samuti discovery-spi kaudu, saavad uued s\u00f5lmed k\u00f5ik teenustega t\u00f6\u00f6tamiseks vajalikud andmed.\n<\/li>\n<\/ul>\n<p>\nP\u00e4ringu saamisel valideerivad klastris olevad s\u00f5lmed selle ja loovad t\u00f6\u00f6tlemiseks \u00fclesanded. Need \u00fclesanded kogutakse j\u00e4rjekorda ja seej\u00e4rel t\u00f6\u00f6deldakse eraldi t\u00f6\u00f6lise poolt teises harudes. See on nii rakendatud, et kuna saatmine v\u00f5ib v\u00f5tta m\u00e4rkimisv\u00e4\u00e4rselt aega, ei tohi kuluka discovery-voo katkestust lubada.<\/p>\n<p>K\u00f5iki j\u00e4rjekorrast p\u00e4ringuid t\u00f6\u00f6tleb deployment-manager. Tal on spetsiaalne t\u00f6\u00f6taja, kes t\u00f5mbab \u00fclesande j\u00e4rjekorrast ja algatab selle, et alustada \u00fclesande t\u00e4itmist. P\u00e4rast seda toimub j\u00e4rgnev:<\/p>\n<ol>\n<li>Iga s\u00f5lm arvutab ise jaotuse uuendatud deterministliku assignimise funktsiooni p\u00f5hjal.\n<\/li>\n<li>S\u00f5lmed koostavad s\u00f5numi saatmise resultaatidest ja saadavad selle koordinaatorile.\n<\/li>\n<li>Koordinaator kogub k\u00f5ik s\u00f5numid ja koostab kokkuv\u00f5tte kogu saatmisprotsessist, mis saadetakse discovery-spi kaudu k\u00f5igile klastris olevatele s\u00f5lmedele.\n<\/li>\n<li>P\u00e4rast tulemuse saamist l\u00f5ppeb saatmisprotsess, mille j\u00e4rel \u00fclesanne eemaldatakse j\u00e4rjekorrast.\n<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Ignite Service Grid \u2013 taask\u00e4ivitamine\" src=\"\/wp-content\/uploads\/2019\/04\/5f16bfae25e00c2e125be8fedb7cccb7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Uus event-driven disain: org.apache.ignite.internal.processors.service.IgniteServiceProcessor.java<\/i><\/p>\n<p>Kui juurutamise ajal toimub t\u00f5rge, lisab s\u00f5lm kohe selle vea s\u00f5numisse, mis saadetakse koordinaatorile. P\u00e4rast s\u00f5numite kogumist on koordinaatoril teave k\u00f5igist t\u00f5rgetest juurutamise ajal ja saadab selle s\u00f5numi discovery-spi kaudu. T\u00f5rgete teave on saadaval igas klastri s\u00f5lmes. <\/p>\n<p>Selle t\u00f6\u00f6 algoritmi alusel t\u00f6\u00f6deldakse k\u00f5iki olulisi s\u00fcndmusi Teenuste Gridis. N\u00e4iteks topoloogia muutmine on samuti s\u00f5num discovery-spi kaudu. Ja kokkuv\u00f5ttes, v\u00f5rreldes varasemaga, osutus protokoll piisavalt kergekaaluliseks ja usaldusv\u00e4\u00e4rseks. Nii et see suudab k\u00e4sitleda igasuguseid olukordi juurutamise ajal. <\/p>\n<h2>Mis saab edasi<\/h2>\n<p>\nN\u00fc\u00fcd plaanidest. Iga suurem t\u00e4iendus projektis Ignite viiakse l\u00e4bi kui algatus Ignite'i t\u00e4iustamiseks, nn IEP. Teenuste Gridi \u00fcmberkujundamisprotsessil on samuti IEP \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/cwiki.apache.org\/confluence\/display\/IGNITE\/IEP-17%3A+Oil+Change+in+Service+Grid\">IEP \u211617<\/a><\/noindex> naljaka nimega \"\u00d5li vahetamine Teenuste Gridis\". Kuid tegelikult ei vahetanud me mitte mootori \u00f5li, vaid terve mootori. <\/p>\n<p>IEP \u00fclesanded jagasime kaheks faasiks. Esimene on suur faas, mis h\u00f5lmab juurutamise protokolli \u00fcmbertegemist. See on juba peaharusse integreeritud, saate proovida uut Teenuste Gridi, mis ilmub versioonis 2.8. Teine faas h\u00f5lmab paljusid muid \u00fclesandeid:<\/p>\n<ul>\n<li>Kuuma uuesti juurutamine\n<\/li>\n<li>Teenuste versioonimine\n<\/li>\n<li>T\u00f5rke taluvuse suurendamine\n<\/li>\n<li>Kerge klient\n<\/li>\n<li>Seire- ja erinevate m\u00f5\u00f5dikute arvestuse t\u00f6\u00f6riistad\n<\/li>\n<\/ul>\n<p>\nL\u00f5puks saame soovitada teile Teenuste Gridi k\u00f5rge k\u00e4ttesaadavuse t\u00f5rke taluva s\u00fcsteemi loomiseks. Ja kutsume teid liituma meiega <noindex><a rel=\"nofollow\" href=\"mailto:dev@ignite.apache.org\">dev-list<\/a><\/noindex> ja <noindex><a rel=\"nofollow\" href=\"mailto:user@ignite.apache.org\">user-list<\/a><\/noindex> oma kogemuste jagamiseks. Teie kogemus on t\u00f5eliselt oluline kogukonna jaoks, see aitab m\u00f5ista, kuhu edasi liikuda ja kuidas edaspidi komponenti arendada.<br \/>\n<br \/>Allikas: <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 5.0.1.1 - 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.\" \/>\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\/et\/blog\/administrirovanie\/ignite-service-grid-perezagruzka\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/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 Teenuste Grid \u2014 taask\u00e4ivitamine | ProHoster","description":"26. veebruaril korraldasime Apache Ignite GreenSource'i koosoleku, kus esinesid open source projekti Apache Ignite kaasautorid.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/ignite-service-grid-perezagruzka","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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.","og:url":"https:\/\/prohoster.info\/et\/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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/31137","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=31137"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/31137\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/23105"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=31137"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=31137"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=31137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}