{"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\/sl\/blog\/administrirovanie\/ignite-service-grid-perezagruzka","title":{"rendered":"Ignite Service Grid \u2013 ponovna usnova","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>26. februarja smo imeli meet-up Apache Ignite GreenSource, kjer so nastopali prispevkarji open source projekta. <noindex><a rel=\"nofollow\" href=\"https:\/\/ignite.apache.org\/\">Apache Ignite<\/a><\/noindex>Pomemben dogodek v \u017eivljenju te skupnosti je bila preureditev komponenta. <noindex><a rel=\"nofollow\" href=\"https:\/\/ignite.apache.org\/features\/servicegrid.html\">Ignite Service Grid<\/a><\/noindex>, ki omogo\u010da razporejanje uporabni\u0161kih mikroservisov neposredno v klasteru Ignite. O tem zahtevnem procesu je na meet-upu govoril <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/daradurvs\/\">Vja\u010deslav Daradur<\/a><\/noindex>, programski in\u017eenir in \u017ee ve\u010d kot dve leti prispevkar Apache Ignite.<\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2013 ponovna usnova\" 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 \/>\nZa\u010dnimo s tem, kaj pravzaprav je Apache Ignite. To je baza podatkov, ki predstavlja porazdeljeno shramba Key\/Value s podporo za SQL, transakcije in predpomnjenje. Poleg tega Ignite omogo\u010da razporejanje uporabni\u0161kih storitev neposredno v klasteru Ignite. Razvijalcu so na voljo vsi orodja, ki jih ponuja Ignite \u2014 porazdeljene podatkovne strukture, sporo\u010danje, pretakanje, izra\u010duni in podatkovni gridi. Na primer, pri uporabi podatkovnega grida odpadne te\u017eave z administracijo lo\u010dene infrastrukture za shrambo podatkov in s tem povezani stro\u0161ki.<\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2013 ponovna usnova\" src=\"\/wp-content\/uploads\/2019\/04\/e3259ea6113d1c6549da556ec365b394.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZ uporabo API Service Grid je mogo\u010de namestiti storitev, preprosto z navedbo sheme namestitve in ustrezne storitve v konfiguraciji.<\/p>\n<p>Obi\u010dajno shema namestitve pomeni navedbo \u0161tevila primerkov, ki naj bi bili razporejeni na vozli\u0161\u010dih klasterja. Obstajata dve tipi\u010dni shemi namestitve. Prva je Cluster Singleton: v vsakem trenutku bo v klasterju zagotovo na voljo en primerek uporabni\u0161ke storitve. Druga je Node Singleton: na vsakem vozli\u0161\u010du klasterja je name\u0161\u010den en primerek storitve. <\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2013 ponovna usnova\" src=\"\/wp-content\/uploads\/2019\/04\/645b2c11a95d4ad578e3c14d44894e30.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPrav tako lahko uporabnik navede \u0161tevilo primerkov storitve v celotnem klasterju in dolo\u010di predikat za filtriranje ustreznih vozli\u0161\u010d. V tem scenariju bo Service Grid sam izra\u010dunal optimalno razporeditev za namestitev storitev.<\/p>\n<p>Poleg tega obstaja funkcija, imenovana Affinity Service. Affinity je funkcija, ki dolo\u010da povezavo klju\u010dev s particijami in povezavo strank z vozli\u0161\u010di v topologiji. Po klju\u010du lahko dolo\u010dite primarno vozli\u0161\u010de, kjer so shranjeni podatki. S tem lahko pove\u017eete svojo storitev s klju\u010dem in predpomnilnikom funkcije affinity. V primeru spremembe funkcije affinity bo samodejno izvedena ponovna namestitev. Tako bo storitev vedno name\u0161\u010dena blizu podatkov, s katerimi mora upravljati, in s tem zmanj\u0161ala stro\u0161ke dostopa do informacij. To shemo lahko imenujemo nekak\u0161no kolokacijsko ra\u010dunanje.<\/p>\n<p>Zdaj, ko smo razlo\u017eili, kaj je \u010dar Service Grid, bomo govorili o njegovi zgodovini razvoja.<\/p>\n<h2>Kaj je bilo prej<\/h2>\n<p>\nPrej\u0161nja izvedba Service Grid je temeljila na transakcijskem replikacijskem sistemskem predpomnilniku Ignite. Pod izrazom 'predpomnilnik' v Ignite razumemo shrambo. Torej, to ni nekaj za\u010dasnega, kot bi lahko pomislili. Kljub temu, da je predpomnilnik replikativen in vsako vozli\u0161\u010de vsebuje celoten nabor podatkov, ima predpomnilnik interno particionirano predstavo. To je povezano z optimizacijo shrambe. <\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2013 ponovna usnova\" src=\"\/wp-content\/uploads\/2019\/04\/ce452b6f16aa7b3207648eed45fa6576.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKaj se je zgodilo, ko je uporabnik \u017eelel na\u0161timati storitev?<\/p>\n<ul>\n<li>Vsa vozli\u0161\u010da v grozdu so se prijavila za posodobitev podatkov v shrambi preko vgrajenega mehanizma Continous Query.\n<\/li>\n<li>Vozli\u0161\u010de iniciator je pod transakcijo read-committed zapisalo v bazo, ki je vsebovala konfiguracijo storitve, vklju\u010dno s serializirano instanco.\n<\/li>\n<li>Ob prejemu obvestila o novem zapisu je koordinator izra\u010dunal razporeditev glede na konfiguracijo. Pridobljen objekt je bil vpisan nazaj v bazo.\n<\/li>\n<li>\u010ce je vozli\u0161\u010de vstopilo v razporeditev, ga je moral koordinator na\u0161timati.\n<\/li>\n<\/ul>\n<p><\/p>\n<h2>Kaj nas ni prepri\u010devalo<\/h2>\n<p>\nNekega trenutka smo pri\u0161li do spoznanja: tako delati s storitvami ni mogo\u010de. Razlogov je bilo ve\u010d.<\/p>\n<p>\u010ce je med namestitvijo pri\u0161lo do napake, je bilo to mogo\u010de izvedeti le iz dnevnikov tistega vozli\u0161\u010da, kjer se je vse zgodilo. Obstajala je le asinhrona namestitev, tako da po vrnitvi nadzora uporabniku iz metode namestitve je bilo potrebno dodatno \u010das za zagon storitve - v tem \u010dasu uporabnik ni mogel ni\u010desar upravljati. Da bi Service Grid razvili naprej, dodali nove funkcije, privabili nove uporabnike in olaj\u0161ali \u017eivljenje vsem, je bilo treba nekatere stvari spremeniti.<\/p>\n<p>Pri na\u010drtovanju novega Service Grid smo si prvenstveno \u017eeleli zagotoviti jamstvo sinhroniziranega namestitve: takoj ko uporabnik ponovno prevzame nadzor nad API-jem, lahko takoj za\u010dne uporabljati storitve. Prav tako smo \u017eeleli omogo\u010diti iniciatorju obravnavo napak pri namestitvi.<\/p>\n<p>Poleg tega smo \u017eeleli poenostaviti izvedbo, in sicer se izogniti transakcijam in rebalance-ingu. Kljub temu, da je predpomnilnik replikativen in ni nikakr\u0161ne porazdelitve, so se med velikimi namestitvami s \u0161tevilnimi vozli\u0161\u010di pojavile te\u017eave. Pri spremembi topologije morajo vozli\u0161\u010da izmenjavati informacije, in pri velikih namestitvah so ti podatki lahko zelo obse\u017eni.<\/p>\n<p>Ko je bila topologija nestabilna, je koordinator moral ponovno izra\u010dunati porazdelitev storitev. Prav tako, ko se je treba ukvarjati s transakcijami v nestabilni topologiji, to lahko privede do te\u017eko napovedljivih napak.<\/p>\n<h2>Te\u017eave<\/h2>\n<p>\nKak\u0161ne so globalne spremembe brez spremljajo\u010dih te\u017eav? Prva od njih je postala sprememba topologije. Treba je razumeti, da v vsakem trenutku, tudi ob namestitvi storitve, lahko vozli\u0161\u010de vstopi v klaster ali izstopi iz njega. \u0160e ve\u010d, \u010de v trenutku namestitve vozli\u0161\u010de vstopi v klaster, bo potrebno dosledno prenesti vse informacije o storitvah na novo vozli\u0161\u010de. Govorimo ne le o \u017ee razporejenih, temve\u010d tudi o trenutnih in prihodnjih namestitvah.<\/p>\n<p>To je le ena od te\u017eav, ki jih je mogo\u010de zbrati v lo\u010den seznam:<\/p>\n<ul>\n<li>Kako namestiti stati\u010dno konfigurirane storitve ob zagonu vozli\u0161\u010da?\n<\/li>\n<li>Izstop vozli\u0161\u010da iz klasterja - kaj storiti, \u010de je vozli\u0161\u010de gostilo storitve?\n<\/li>\n<li>Kaj storiti, \u010de se je koordinator spremenil?\n<\/li>\n<li>Kaj storiti, \u010de se je stranka znova povezana s klasterjem?\n<\/li>\n<li>Ali je treba obravnavati zahteve za aktivacijo\/deaktivacijo in kako?\n<\/li>\n<li>In kaj, \u010de je bila klicana uni\u010ditev predpomnilnika, medtem ko imamo na njem odvisne storitve?\n<\/li>\n<\/ul>\n<p>\nIn to \u0161e zdale\u010d ni vse. <\/p>\n<h2>Solution<\/h2>\n<p>\nKot cilj smo izbrali pristop Event Driven z izvajanjem komunikacije procesov prek sporo\u010dil. V Ignite sta \u017ee implementirana dva komponente, ki omogo\u010data vozli\u0161\u010dem, da si izmenjujejo sporo\u010dila, - communication-spi in discovery-spi.<\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2013 ponovna usnova\" src=\"\/wp-content\/uploads\/2019\/04\/b95a4951ae4e04a67581a44921e88bcc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCommunication-spi omogo\u010da vozli\u0161\u010dem neposredno komunikacijo in po\u0161iljanje sporo\u010dil. Dobro se obnese pri po\u0161iljanju velikega obsega podatkov. Discovery-spi omogo\u010da po\u0161iljanje sporo\u010dila vsem vozli\u0161\u010dem v gru\u010di. V standardni implementaciji se to izvede po topologiji 'obro\u010d'. Poleg tega obstaja integracija z Zookeeper, kjer se uporablja topologija 'zvezda'. Pomembno je tudi opozoriti, da discovery-spi zagotavlja, da se sporo\u010dilo zagotovo dostavi v pravilnem vrstnem redu vsem vozli\u0161\u010dem. <\/p>\n<p>Poglejmo protokol name\u0161\u010danja. Vse uporabni\u0161ke zahteve za namestitev in razne namestitve se po\u0161iljajo preko discovery-spi. To prina\u0161a naslednje <i>garancije<\/i>:<\/p>\n<ul>\n<li>Zahteva bo prejeta s strani vseh vozli\u0161\u010d v gru\u010di. To omogo\u010da nadaljevanje obdelave zahteve v primeru spremembe koordinatorja. Prav tako to pomeni, da bo imelo vsako vozli\u0161\u010de ob eni sami sporo\u010dilu vse potrebne meta podatke, kot so konfiguracija storitve in njen \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440.\n<\/li>\n<li>Strog vrstni red dostave sporo\u010dil omogo\u010da re\u0161evanje konfliktov konfiguracij in konkuren\u010dnih zahtev.\n<\/li>\n<li>Ker vstop vozli\u0161\u010da v topologijo obravnava tudi discovery-spi, bodo na novo vozli\u0161\u010de pri\u0161le vse potrebne informacije za delo s storitvami.\n<\/li>\n<\/ul>\n<p>\nOb prejemanju zahteve vozli\u0161\u010da v gru\u010di potrjujejo zahtevo in oblikujejo naloge za obdelavo. Te naloge se naka\u017eejo v vrsto in nato obdelajo v drugem niti z lo\u010denim delavcem. To je uresni\u010deno na ta na\u010din, ker lahko name\u0161\u010danje traja znatno \u010dasa in zadr\u017eevanje dragocene discovery-toka ni sprejemljivo.<\/p>\n<p>Vse zahteve iz vrste obdeluje upravitelj name\u0161\u010danja. Ima posebnega delavca, ki iz te vrste potegne nalogo in jo inicializira, da za\u010dne name\u0161\u010danje. Po tem se izvedejo naslednji koraki:<\/p>\n<ol>\n<li>Vsako vozli\u0161\u010de samostojno izra\u010duna razporeditev zahvaljujo\u010d novi deterministi\u010dni funkciji dodelitve.\n<\/li>\n<li>Vozli\u0161\u010da oblikujejo sporo\u010dilo z rezultati name\u0161\u010danja in ga po\u0161ljejo koordinatorju.\n<\/li>\n<li>Koordinator agregira vsa sporo\u010dila in oblikuje rezultat celotnega postopka name\u0161\u010danja, ki se po\u0161lje preko discovery-spi vsem vozli\u0161\u010dem v gru\u010di.\n<\/li>\n<li>Ob prejemu rezultata se postopek name\u0161\u010danja zaklju\u010di, po \u010demer se naloga odstrani iz vrste.\n<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Ignite Service Grid \u2013 ponovna usnova\" src=\"\/wp-content\/uploads\/2019\/04\/5f16bfae25e00c2e125be8fedb7cccb7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Nov zasnovan dogodek: org.apache.ignite.internal.processors.service.IgniteServiceProcessor.java<\/i><\/p>\n<p>\u010ce se med razporeditvijo zgodi napaka, vozli\u0161\u010de takoj vklju\u010di to napako v sporo\u010dilo, ki ga po\u0161lje koordinatorju. Po aglomeraciji sporo\u010dil bo koordinator imel informacije o vseh napakah med namestitvijo in to sporo\u010dilo bo poslano prek discovery-spi. Informacije o napakah bodo dostopne na katerem koli vozli\u0161\u010du v grozdu. <\/p>\n<p>Po tem algoritmu se obdelujejo vse pomembne dogodke v Service Grid. Na primer, sprememba topologije je prav tako sporo\u010dilo prek discovery-spi. In na splo\u0161no, \u010de primerjamo s tem, kar je bilo, je protokol postal dovolj lahkotno in zanesljivo. Toliko, da lahko obravnava katero koli situacijo med namestitvijo. <\/p>\n<h2>V naslednjem ponedeljku, 25. marca, bo na<\/h2>\n<p>\nZdaj o na\u010drtih. Vsaka ve\u010dja izbolj\u0161ava v projektu Ignite se izvaja kot pobuda za izbolj\u0161anje Ignite, tako imenovani IEP. Redizajn Service Grid ima prav tako IEP \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/cwiki.apache.org\/confluence\/display\/IGNITE\/IEP-17%3A+Oil+Change+in+Service+Grid\">IEP \u0161t. 17<\/a><\/noindex> z zabavno naslovom \u201eZamenjava olja v storitvi Grid\u201c. V resnici pa nismo zamenjali olja v motorju, temve\u010d celoten motor. <\/p>\n<p>Naloge v IEP smo razdelili na 2 fazi. Prva je velika faza, ki se osredoto\u010da na prenovo protokola namestitve. Ta je \u017ee vklju\u010dena v glavno vejo, lahko preizkusite nov Service Grid, ki bo na voljo v razli\u010dici 2.8. Druga faza vklju\u010duje \u0161tevilne druge naloge:<\/p>\n<ul>\n<li>Hiter redeploy\n<\/li>\n<li>Razli\u010dnost storitev\n<\/li>\n<li>Pove\u010dana odpornosti na napake\n<\/li>\n<li>Tanka stranka\n<\/li>\n<li>Orodja za spremljanje in zbiranje razli\u010dnih metrik\n<\/li>\n<\/ul>\n<p>\nNa koncu vam lahko priporo\u010dimo Service Grid za gradnjo visokAvailability sistemov z odpornostjo na napake. Prav tako vas vabimo, da se nam pridru\u017eite na <noindex><a rel=\"nofollow\" href=\"mailto:dev@ignite.apache.org\">dev-list<\/a><\/noindex> in <noindex><a rel=\"nofollow\" href=\"mailto:user@ignite.apache.org\">user-list<\/a><\/noindex> in delite svoje izku\u0161nje. Va\u0161e izku\u0161nje so resni\u010dno pomembne za skupnost, pomagajo razumeti, kam naprej, kako v prihodnosti razvijati ta komponent.<br \/>\n<br \/>Izvor: <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.4 - 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\/sl\/blog\/administrirovanie\/ignite-service-grid-perezagruzka\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sl_SI\" \/>\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\/sl\/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 ponovna zagnanje | ProHoster","description":"26. februarja smo organizirali sre\u010danje Apache Ignite GreenSource, na katerem so nastopili prispevovalci open source projekta Apache Ignite.","canonical_url":"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/ignite-service-grid-perezagruzka","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sl_SI","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\/sl\/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\/sl\/wp-json\/wp\/v2\/posts\/31137","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/comments?post=31137"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/31137\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media\/23105"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media?parent=31137"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/categories?post=31137"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/tags?post=31137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}