{"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\/sq\/blog\/administrirovanie\/ignite-service-grid-perezagruzka","title":{"rendered":"Ignite Service Grid \u2014 rielaborim","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>M\u00eb 26 shkurt, organizuam nj\u00eb mitap p\u00ebr Apache Ignite GreenSource, ku fol\u00ebs ishin kontribues t\u00eb projektit open source. <noindex><a rel=\"nofollow\" href=\"https:\/\/ignite.apache.org\/\">Apache Ignite<\/a><\/noindex>. Nj\u00eb ngjarje e r\u00ebnd\u00ebsishme n\u00eb jet\u00ebn e k\u00ebtij komuniteti ishte rip\u00ebrt\u00ebritja e komponentit <noindex><a rel=\"nofollow\" href=\"https:\/\/ignite.apache.org\/features\/servicegrid.html\">Ignite Service Grid<\/a><\/noindex>, i cili lejon implementimin e mikrosh\u00ebrbimeve t\u00eb personalizuara direkt n\u00eb klasterin Ignite. Rreth k\u00ebtij procesi t\u00eb nd\u00ebrlikuar, gjat\u00eb mitapit, foli <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/daradurvs\/\">Vyacheslav Daradur<\/a><\/noindex>, inxhinier programimi dhe kontribues p\u00ebr m\u00eb shum\u00eb se dy vjet n\u00eb Apache Ignite.<\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2014 rielaborim\" 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 \/>\nLe t\u00eb fillojm\u00eb me at\u00eb se \u00e7far\u00eb \u00ebsht\u00eb realmente Apache Ignite. Ky \u00ebsht\u00eb nj\u00eb baz\u00eb t\u00eb dh\u00ebnash q\u00eb paraqet nj\u00eb ruajtje t\u00eb shp\u00ebrndar\u00eb Key\/Value me mb\u00ebshtetje p\u00ebr SQL, transaksionet dhe caching. P\u00ebr m\u00eb tep\u00ebr, Ignite lejon implementimin e sh\u00ebrbimeve t\u00eb personalizuara direkt n\u00eb klasterin Ignite. Zhvilluesi ka n\u00eb dispozicion t\u00eb gjitha mjetet q\u00eb ofron Ignite - strukturat e dh\u00ebnash t\u00eb shp\u00ebrndara, Messaging, Streaming, Compute dhe Data Grid. P\u00ebr shembull, me p\u00ebrdorimin e Data Grid, zhduket problemi i administrimit t\u00eb nj\u00eb infrastrukture t\u00eb ve\u00e7ant\u00eb p\u00ebr ruajtjen e t\u00eb dh\u00ebnave dhe, si pasoj\u00eb, kostot q\u00eb rrjedhin prej saj.<\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2014 rielaborim\" src=\"\/wp-content\/uploads\/2019\/04\/e3259ea6113d1c6549da556ec365b394.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDuke p\u00ebrdorur API-n\u00eb e Service Grid, mund t\u00eb implementoni nj\u00eb sh\u00ebrbim, thjesht duke p\u00ebrcaktuar n\u00eb konfigurim skem\u00ebn e implementimit dhe, p\u00ebrkat\u00ebsisht, sh\u00ebrbimin e vet.<\/p>\n<p>Zakonisht skema e implementimit p\u00ebrfshin sasin\u00eb e instancave q\u00eb duhet t\u00eb implementohen n\u00eb nodet e klasterit. Ekzistojn\u00eb dy skema t\u00eb zakonshme t\u00eb implementimit. E para \u00ebsht\u00eb Cluster Singleton: n\u00eb \u00e7do moment n\u00eb klaster, do t\u00eb jet\u00eb garantuar nj\u00eb shembull i vet\u00ebm i sh\u00ebrbimit t\u00eb personalizuar. E dyta \u00ebsht\u00eb Node Singleton: n\u00eb \u00e7do nod\u00eb t\u00eb klasterit \u00ebsht\u00eb implementuar nj\u00eb shembull i vet\u00ebm i sh\u00ebrbimit. <\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2014 rielaborim\" src=\"\/wp-content\/uploads\/2019\/04\/645b2c11a95d4ad578e3c14d44894e30.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPo ashtu, p\u00ebrdoruesi mund t\u00eb p\u00ebrcaktoj\u00eb sasin\u00eb e instancave t\u00eb sh\u00ebrbimit n\u00eb t\u00eb gjith\u00eb klasterin dhe t\u00eb p\u00ebrcaktoj\u00eb nj\u00eb predikat p\u00ebr filtrimin e nodeve p\u00ebrkat\u00ebse. N\u00eb nj\u00eb skenar t\u00eb till\u00eb, Service Grid do t\u00eb llogaris\u00eb automatikisht shp\u00ebrndarjen optimale p\u00ebr implementimin e sh\u00ebrbimeve.<\/p>\n<p>P\u00ebrve\u00e7 k\u00ebsaj, ekziston edhe nj\u00eb funksion i till\u00eb si Affinity Service. Affinity \u00ebsht\u00eb nj\u00eb funksion q\u00eb p\u00ebrcakton lidhjen e \u00e7el\u00ebsave me partit\u00eb dhe lidhjen e partive me nodet n\u00eb topologji. N\u00ebp\u00ebrmjet \u00e7el\u00ebsit, mund t\u00eb p\u00ebrcaktoni nodin kryesor, n\u00eb t\u00eb cilin ruhen t\u00eb dh\u00ebnat. K\u00ebshtu, mund t\u00eb asocioheni sh\u00ebrbimin tuaj me \u00e7el\u00ebsin dhe me funksionin e keshit t\u00eb affinitetit. N\u00eb rastin e ndryshimit t\u00eb funksionit t\u00eb affinitetit, ndodh nj\u00eb riciklim automatik. K\u00ebshtu, sh\u00ebrbimi do t\u00eb jet\u00eb gjithmon\u00eb pran\u00eb t\u00eb dh\u00ebnave me t\u00eb cilat duhet t\u00eb manipuloj\u00eb dhe, p\u00ebr pasoj\u00eb, do t\u00eb ulen kostot e aksesit n\u00eb informacion. Nj\u00eb skem\u00eb e till\u00eb mund t\u00eb quhet si nj\u00eb lloj llogaritjesh t\u00eb kolokuar.<\/p>\n<p>Tani, pasi kemi shqyrtuar se \u00e7far\u00eb e b\u00ebn t\u00eb ve\u00e7ant\u00eb Service Grid, do t\u00eb flasim p\u00ebr historin\u00eb e tij t\u00eb zhvillimit.<\/p>\n<h2>\u00c7far\u00eb kishte m\u00eb par\u00eb<\/h2>\n<p>\nImplementimi i m\u00ebparsh\u00ebm i Service Grid ishte i bazuar n\u00eb nj\u00eb sistem transaksional t\u00eb replikuar t\u00eb keqit t\u00eb Ignite. Me fjal\u00ebn \"k\u00ebsh\" n\u00eb Ignite n\u00ebnkuptohet ruajtje. K\u00ebshtu q\u00eb kjo nuk \u00ebsht\u00eb di\u00e7ka e p\u00ebrkohshme, si\u00e7 mund t\u00eb mendohet. Megjith\u00ebse k\u00ebshi \u00ebsht\u00eb i replikuesh\u00ebm dhe \u00e7do nod\u00eb p\u00ebrmban t\u00eb gjith\u00eb setin e t\u00eb dh\u00ebnave, brenda keshit ka nj\u00eb pamje t\u00eb ndar\u00eb. Kjo lidhet me optimizimin e ruajtjes. <\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2014 rielaborim\" src=\"\/wp-content\/uploads\/2019\/04\/ce452b6f16aa7b3207648eed45fa6576.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00c7far\u00eb ndodhte kur p\u00ebrdoruesi donte t\u00eb implementonte nj\u00eb sh\u00ebrbim?<\/p>\n<ul>\n<li>T\u00eb gjitha nodet n\u00eb klaster regjistroheshin p\u00ebr p\u00ebrdit\u00ebsimin e t\u00eb dh\u00ebnave n\u00eb ruajtje p\u00ebrmes mekanizmit t\u00eb integruar Continuous Query.\n<\/li>\n<li>Noda-initiator n\u00ebn nj\u00eb transaksion read-committed b\u00ebnte nj\u00eb sh\u00ebnim n\u00eb baz\u00eb, i cili p\u00ebrmbante konfigurimin e sh\u00ebrbimit, p\u00ebrfshir\u00eb instanc\u00ebn e serializuar.\n<\/li>\n<li>Pasi merrte njoftimin p\u00ebr nj\u00eb sh\u00ebnim t\u00eb ri, koordinatori llogariste shp\u00ebrndarjen sipas konfiguracionit. Objekti i marr\u00eb regjistrohej p\u00ebrs\u00ebri n\u00eb baz\u00eb.\n<\/li>\n<li>N\u00ebse ndonj\u00eb nod\u00eb hynte n\u00eb shp\u00ebrndarje, koordinatori duhej ta implementonte.\n<\/li>\n<\/ul>\n<p><\/p>\n<h2>\u00c7far\u00eb na shqet\u00ebsonte<\/h2>\n<p>\nN\u00eb nj\u00eb moment, arrit\u00ebm n\u00eb p\u00ebrfundimin se nuk mund t\u00eb punonim me sh\u00ebrbimet n\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb. Shkaqet ishin disa.<\/p>\n<p>N\u00ebse ndodhte ndonj\u00eb gabim gjat\u00eb implementimit, mund t\u00eb merreshit vet\u00ebm nga loget e nod\u00ebs ku ndodhi gjith\u00e7ka. Ekzistonte vet\u00ebm nj\u00eb implementim asinkron, k\u00ebshtu q\u00eb pas kthimit t\u00eb kontrollit te p\u00ebrdoruesi nga metoda e implementimit, duhej nj\u00eb koh\u00eb e p\u00ebrditshme p\u00ebr t\u00eb filluar sh\u00ebrbimin - dhe gjat\u00eb k\u00ebsaj kohe, p\u00ebrdoruesi nuk mund t\u00eb menaxhonte asgj\u00eb. P\u00ebr t\u00eb zhvilluar m\u00eb tej Service Grid, p\u00ebr t\u00eb krijuar funksione t\u00eb reja, p\u00ebr t\u00eb t\u00ebrhequr p\u00ebrdorues t\u00eb rinj dhe p\u00ebr t\u00eb b\u00ebr\u00eb jet\u00ebn m\u00eb t\u00eb thjesht\u00eb p\u00ebr t\u00eb gjith\u00eb, \u00ebsht\u00eb e nevojshme t\u00eb b\u00ebhen disa ndryshime.<\/p>\n<p>Gjat\u00eb projektimit t\u00eb Service Grid t\u00eb ri, ne s\u00eb pari d\u00ebshironim t\u00eb ofronim garancin\u00eb e implementimit sinkron: sa her\u00eb q\u00eb p\u00ebrdoruesi kthehej kontrollit nga API, ai menj\u00ebher\u00eb mund t\u00eb p\u00ebrdorte sh\u00ebrbimet. Po ashtu d\u00ebshironim t\u00eb ofronim iniciatorit mund\u00ebsin\u00eb p\u00ebr t\u00eb trajtuar gabimet e implementimit.<\/p>\n<p>P\u00ebrve\u00e7 k\u00ebsaj, donim ta leht\u00ebsojm\u00eb implementimin, dometh\u00ebn\u00eb t\u00eb shmangim transaksionet dhe ribalancimin. Megjith\u00ebse cache \u00ebsht\u00eb i replikuesh\u00ebm dhe nuk ka ribalancim, gjat\u00eb nj\u00eb shp\u00ebrndarjeje t\u00eb madhe me shum\u00eb nod\u00eb ishin probleme. Kur ndryshon topologjia, nodet duhet t\u00eb shk\u00ebmbejn\u00eb informacion dhe gjat\u00eb nj\u00eb shp\u00ebrndarjeje t\u00eb madhe, k\u00ebto t\u00eb dh\u00ebna mund t\u00eb peshojn\u00eb shum\u00eb.<\/p>\n<p>Kur topologjia ishte e paq\u00ebndrueshme, koordinatori duhej t\u00eb rifreskonte shp\u00ebrndarjen e sh\u00ebrbimeve. Po ashtu, kur p\u00ebrballesh me transaksionet n\u00eb nj\u00eb topologji t\u00eb paq\u00ebndrueshme, kjo mund t\u00eb \u00e7oj\u00eb n\u00eb gabime t\u00eb v\u00ebshtira p\u00ebr t'u parashikuar.<\/p>\n<h2>Problemet<\/h2>\n<p>\nCila \u00ebsht\u00eb ajo ndryshim global pa probleme shoq\u00ebruese? E para ishte ndryshimi i topologjis\u00eb. Duhet t\u00eb kuptojm\u00eb se n\u00eb \u00e7do moment, madje edhe gjat\u00eb shp\u00ebrndarjes s\u00eb sh\u00ebrbimit, nj\u00eb nod mund t\u00eb hyj\u00eb n\u00eb grumbull apo t\u00eb dal\u00eb prej tij. M\u00eb shum\u00eb se kaq, n\u00ebse nj\u00eb nod hyn n\u00eb grumbull n\u00eb momentin e shp\u00ebrndarjes, do t\u00eb k\u00ebrkohet q\u00eb e gjith\u00eb informacioni mbi sh\u00ebrbimet t\u00eb transferohet n\u00eb nodin e ri n\u00eb m\u00ebnyr\u00eb koherente. Dhe kjo ka t\u00eb b\u00ebj\u00eb jo vet\u00ebm me ato q\u00eb tashm\u00eb jan\u00eb shp\u00ebrndar\u00eb, por edhe me shp\u00ebrndarjet aktuale dhe t\u00eb ardhshme.<\/p>\n<p>Kjo \u00ebsht\u00eb vet\u00ebm nj\u00eb nga problemet q\u00eb mund t\u00eb renditen n\u00eb nj\u00eb list\u00eb t\u00eb ve\u00e7ant\u00eb:<\/p>\n<ul>\n<li>Si t\u00eb shp\u00ebrndahen sh\u00ebrbimet e konfiguruara statikisht gjat\u00eb fillimit t\u00eb nodit?\n<\/li>\n<li>Dalja e nodit nga grumbulli \u2013 \u00e7far\u00eb t\u00eb b\u00ebjm\u00eb n\u00ebse nodi kishte vendosur sh\u00ebrbime?\n<\/li>\n<li>\u00c7far\u00eb t\u00eb b\u00ebjm\u00eb n\u00ebse ndryshon koordinatori?\n<\/li>\n<li>\u00c7far\u00eb t\u00eb b\u00ebjm\u00eb n\u00ebse klienti \u00ebsht\u00eb ri lidhur me grumbullin?\n<\/li>\n<li>Duhet t\u00eb trajtojm\u00eb k\u00ebrkesat p\u00ebr aktivizim \/ deaktivizim dhe si?\n<\/li>\n<li>Por \u00e7far\u00eb ndodh n\u00ebse thirret shkat\u00ebrrimi i cache-it, nd\u00ebrsa kemi sh\u00ebrbime t\u00eb lidhura me t\u00eb?\n<\/li>\n<\/ul>\n<p>\nDhe kjo nuk \u00ebsht\u00eb aspak e gjitha. <\/p>\n<h2>Zgjidhja<\/h2>\n<p>\nSi objektiv, ne zgjodh\u00ebm qasjen Event Driven me implementimin e komunikimit t\u00eb proceseve p\u00ebrmes mesazheve. N\u00eb Ignite, jan\u00eb implementuar dy komponente q\u00eb lejojn\u00eb nodet t\u00eb d\u00ebrgojn\u00eb mesazhe midis tyre, \u2013 communication-spi dhe discovery-spi.<\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2014 rielaborim\" src=\"\/wp-content\/uploads\/2019\/04\/b95a4951ae4e04a67581a44921e88bcc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCommunication-spi lejon nodet t\u00eb komunikojn\u00eb drejtp\u00ebrdrejt dhe t\u00eb d\u00ebrgojn\u00eb mesazhe. Ai \u00ebsht\u00eb shum\u00eb i p\u00ebrshtatsh\u00ebm p\u00ebr d\u00ebrgimin e sasive t\u00eb m\u00ebdha t\u00eb t\u00eb dh\u00ebnave. Discovery-spi lejon d\u00ebrgimin e nj\u00eb mesazhi t\u00eb gjith\u00eb nod\u00ebve n\u00eb grumbull. N\u00eb implementimin standard, kjo b\u00ebhet sipas topologjis\u00eb \"unaz\u00eb\". Gjithashtu ka integrim me Zookeeper, n\u00eb k\u00ebt\u00eb rast p\u00ebrdoret topologjia \"yll\". Nj\u00eb moment i r\u00ebnd\u00ebsish\u00ebm \u00ebsht\u00eb: discovery-spi ofron garantion q\u00eb mesazhi do t\u00eb dor\u00ebzohet me sakt\u00ebsi dhe n\u00eb rendin e duhur p\u00ebr t\u00eb gjith\u00eb nod\u00ebt. <\/p>\n<p>Le ta shqyrtojm\u00eb protokollin e shp\u00ebrndarjes. T\u00eb gjitha k\u00ebrkesat e p\u00ebrdoruesve p\u00ebr shp\u00ebrndarje dhe shp\u00ebrndarje prishen p\u00ebrmes discovery-spi. Kjo jep garanci t\u00eb m\u00ebposhtme <i>garancit\u00eb<\/i>:<\/p>\n<ul>\n<li>K\u00ebrkesa do t\u00eb pranohet nga t\u00eb gjith\u00eb nod\u00ebt n\u00eb grumbull. Kjo do t\u00eb lejoj\u00eb t\u00eb vazhdoj\u00eb p\u00ebrpunimi i k\u00ebrkes\u00ebs gjat\u00eb ndryshimit t\u00eb koordinatorit. Gjithashtu, kjo do t\u00eb thot\u00eb se me nj\u00eb mesazh, \u00e7do nod do t\u00eb ket\u00eb t\u00eb gjitha metadat e nevojshme, si\u00e7 \u00ebsht\u00eb konfigurimi i sh\u00ebrbimit dhe instanca e tij e serializuar.\n<\/li>\n<li>Rendi i rrept\u00eb i d\u00ebrges\u00ebs s\u00eb mesazheve lejon zgjidhjen e konflikteve t\u00eb konfigurimeve dhe k\u00ebrkesave konkurente.\n<\/li>\n<li>Duke qen\u00eb se hyrja e nodit n\u00eb topologji p\u00ebrpunon gjithashtu p\u00ebrmes discovery-spi, nodi i ri do t\u00eb marr\u00eb t\u00eb gjitha t\u00eb dh\u00ebnat e nevojshme p\u00ebr t\u00eb punuar me sh\u00ebrbimet.\n<\/li>\n<\/ul>\n<p>\nKur pranojn\u00eb k\u00ebrkes\u00ebn, nodet n\u00eb grumbull e validitojn\u00eb at\u00eb dhe formojn\u00eb detyra p\u00ebr p\u00ebrpunim. K\u00ebto detyra grumbullohen n\u00eb nj\u00eb radh\u00eb dhe m\u00eb pas p\u00ebrpunohen n\u00eb nj\u00eb fije tjet\u00ebr nga nj\u00eb pun\u00ebtor i ve\u00e7ant\u00eb. Kjo \u00ebsht\u00eb realizuar k\u00ebshtu, sepse shp\u00ebrndarja mund t\u00eb marr\u00eb nj\u00eb koh\u00eb t\u00eb konsiderueshme dhe t\u00eb vonoj\u00eb procesin e shtrirjes \u00ebsht\u00eb e papranueshme.<\/p>\n<p>T\u00eb gjitha k\u00ebrkesat nga radh\u00eb p\u00ebrpunohen nga menaxheri i shp\u00ebrndarjes. Ai ka nj\u00eb pun\u00ebtor t\u00eb ve\u00e7ant\u00eb q\u00eb t\u00ebrheq nj\u00eb detyr\u00eb nga kjo radh\u00eb dhe e inicializon p\u00ebr t\u00eb filluar shp\u00ebrndarjen. Pas k\u00ebsaj ndodhin veprimet e m\u00ebposhtme:<\/p>\n<ol>\n<li>\u00c7do nod llogarit shp\u00ebrndarjen e vet p\u00ebrmes nj\u00eb funksioni t\u00eb ri t\u00eb assignimit determinoj.\n<\/li>\n<li>Nodet formojn\u00eb nj\u00eb mesazh me rezultatet e shp\u00ebrndarjes dhe ia d\u00ebrgojn\u00eb koordinatorit.\n<\/li>\n<li>Koordinatori agregon t\u00eb gjitha mesazhet dhe formon rezultatin e gjith\u00eb procesit t\u00eb shp\u00ebrndarjes, i cili d\u00ebrgohet p\u00ebrmes discovery-spi t\u00eb gjith\u00eb nod\u00ebve n\u00eb grumbull.\n<\/li>\n<li>Kur pranohet rezultati, procesi i shp\u00ebrndarjes p\u00ebrfundon, pas s\u00eb cil\u00ebs detyra hiqet nga radha.\n<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Ignite Service Grid \u2014 rielaborim\" src=\"\/wp-content\/uploads\/2019\/04\/5f16bfae25e00c2e125be8fedb7cccb7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Dizajni i ri event-driven: org.apache.ignite.internal.processors.service.IgniteServiceProcessor.java<\/i><\/p>\n<p>N\u00ebse ndodhi nj\u00eb gabim n\u00eb momentin e shp\u00ebrndarjes, nodi menj\u00ebher\u00eb p\u00ebrfshin k\u00ebt\u00eb gabim n\u00eb mesazhin q\u00eb i d\u00ebrgon koordinatorit. Pas agregimit t\u00eb mesazheve, koordinatori do t\u00eb ket\u00eb informacion mbi t\u00eb gjitha gabimet gjat\u00eb shp\u00ebrndarjes dhe do t\u00eb d\u00ebrgoj\u00eb k\u00ebt\u00eb mesazh p\u00ebrmes discovery-spi. Informacioni mbi gabimet do t\u00eb jet\u00eb i disponuesh\u00ebm n\u00eb \u00e7do nod n\u00eb grumbull. <\/p>\n<p>Me k\u00ebtij algoritmi, p\u00ebrpunohen t\u00eb gjitha ngjarjet e r\u00ebnd\u00ebsishme n\u00eb Service Grid. P\u00ebr shembull, ndryshimi i topologjis\u00eb \u00ebsht\u00eb gjithashtu nj\u00eb mesazh i discovery-spi. N\u00eb p\u00ebrgjith\u00ebsi, krahasuar me at\u00eb q\u00eb ishte m\u00eb par\u00eb, protokolli \u00ebsht\u00eb b\u00ebr\u00eb mjaft i leht\u00eb dhe i besuesh\u00ebm. Mjaftuesh\u00ebm, q\u00eb t\u00eb p\u00ebrballoj\u00eb \u00e7do situat\u00eb gjat\u00eb deploy-it. <\/p>\n<h2>\u00c7far\u00eb do t\u00eb ndodh\u00eb m\u00eb pas<\/h2>\n<p>\nTani p\u00ebr planet. \u00c7do p\u00ebrmir\u00ebsim i madh n\u00eb projektin Ignite realizohet si nj\u00eb iniciativ\u00eb p\u00ebr p\u00ebrmir\u00ebsimin e Ignite, e njohur si IEP. Redizajni i Service Grid gjithashtu ka nj\u00eb 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> me emrin humoristik \"Z\u00ebvend\u00ebsimi i vajit n\u00eb Service Grid\". Por n\u00eb fakt, ne nuk e z\u00ebvend\u00ebsuam vajin n\u00eb motor, por motorin e t\u00ebr\u00eb. <\/p>\n<p>Detyrat n\u00eb IEP i kemi ndar\u00eb n\u00eb 2 faza. Faza e par\u00eb \u2014 nj\u00eb faz\u00eb e madhe, e cila p\u00ebrfshin ridizajnimin e protokollit t\u00eb deploy-it. Kjo tashm\u00eb \u00ebsht\u00eb integruar n\u00eb master, mund t\u00eb provoni Service Grid t\u00eb ri, i cili do t\u00eb paraqitet n\u00eb versionin 2.8. Faza e dyt\u00eb p\u00ebrfshin shum\u00eb detyra t\u00eb tjera:<\/p>\n<ul>\n<li>Rindezje e nxeht\u00eb\n<\/li>\n<li>Versionimi i sh\u00ebrbimeve\n<\/li>\n<li>Rritja e q\u00ebndrueshm\u00ebris\u00eb\n<\/li>\n<li>Klienti i holl\u00eb\n<\/li>\n<li>Mjetet p\u00ebr monitorimin dhe num\u00ebrimin e metrikave t\u00eb ndryshme\n<\/li>\n<\/ul>\n<p>\nN\u00eb fund, mund t'ju rekomandojm\u00eb Service Grid p\u00ebr nd\u00ebrtimin e sistemeve t\u00eb q\u00ebndrueshme t\u00eb disponueshm\u00ebris\u00eb s\u00eb lart\u00eb. Gjithashtu, ju ftojm\u00eb n\u00eb <noindex><a rel=\"nofollow\" href=\"mailto:dev@ignite.apache.org\">dev-list<\/a><\/noindex> dhe <noindex><a rel=\"nofollow\" href=\"mailto:user@ignite.apache.org\">user-list<\/a><\/noindex> p\u00ebr t\u00eb ndar\u00eb p\u00ebrvoj\u00ebn tuaj. P\u00ebrvoja juaj \u00ebsht\u00eb me t\u00eb v\u00ebrtet\u00eb e r\u00ebnd\u00ebsishme p\u00ebr komunitetin, do t\u00eb ndihmoj\u00eb n\u00eb kuptimin e drejtimit q\u00eb duhet t\u00eb ndjekim m\u00eb tej, si t\u00eb zhvillojm\u00eb p\u00ebrb\u00ebr\u00ebsin n\u00eb t\u00eb ardhmen.<br \/>\n<br \/>Burimi: <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.0.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. \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\/sq\/blog\/administrirovanie\/ignite-service-grid-perezagruzka\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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\/sq\/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 riprogramimi | ProHoster","description":"M\u00eb 26 shkurt, ne organizuam nj\u00eb mitap t\u00eb Apache Ignite GreenSource, ku fol\u00ebs ishin kontribuesit e projektit open source Apache Ignite. Nj\u00eb ngjarje e r\u00ebnd\u00ebsishme n\u00eb jet\u00ebn e k\u00ebtij komuniteti ishte riparimi i p\u00ebrb\u00ebr\u00ebsit Ignite Service Grid, i cili lejon t\u00eb vendos\u00ebsh mikrosherbime p\u00ebrdoruesi drejtp\u00ebrdrejt n\u00eb klasterin Ignite. Rreth k\u00ebtij procesi t\u00eb v\u00ebshtir\u00eb, n\u00eb mitap foli Vyacheslav Daradur, inxhinier programi dhe kontribues i Apache p\u00ebr m\u00eb shum\u00eb se dy vjet.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/ignite-service-grid-perezagruzka","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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\/sq\/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\/sq\/wp-json\/wp\/v2\/posts\/31137","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=31137"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/31137\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/23105"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=31137"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=31137"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=31137"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}