{"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 rikarikimi","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>M\u00eb 26 shkurt, organizuam mitap Apache Ignite GreenSource, ku fol\u00ebn kontribuuesit e 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 rind\u00ebrtimi i komponentit <noindex><a rel=\"nofollow\" href=\"https:\/\/ignite.apache.org\/features\/servicegrid.html\">Ignite Service Grid<\/a><\/noindex>, i cili lejon t\u00eb vendosen mikrosh\u00ebrbime t\u00eb p\u00ebrdoruesve direkt n\u00eb klastern e Ignite. Rreth k\u00ebtij procesi t\u00eb v\u00ebshtir\u00eb n\u00eb mitap foli <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/daradurvs\/\">Vyacheslav Daradur<\/a><\/noindex>, inxhinier softueri dhe kontribues i Apache Ignite p\u00ebr m\u00eb shum\u00eb se dy vjet.<\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2014 rikarikimi\" 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 n\u00eb t\u00eb v\u00ebrtet\u00eb Apache Ignite. Kjo \u00ebsht\u00eb nj\u00eb baz\u00eb t\u00eb dh\u00ebnash q\u00eb p\u00ebrfaq\u00ebson nj\u00eb ruajt\u00ebs t\u00eb shp\u00ebrndar\u00eb Key\/Value me mb\u00ebshtetje p\u00ebr SQL, transaksionet dhe cache. P\u00ebr m\u00eb tep\u00ebr, Ignite lejon vendosjen e sh\u00ebrbimeve t\u00eb p\u00ebrdoruesve direkt n\u00eb klastern Ignite. Zhvilluesi ka n\u00eb dispozicion t\u00eb gjitha mjetet q\u00eb ofron Ignite \u2014 struktura t\u00eb dh\u00ebnash t\u00eb shp\u00ebrndara, Messaging, Streaming, Compute dhe Data Grid. P\u00ebr shembull, kur p\u00ebrdoret Data Grid, problemi i administrat\u00ebs s\u00eb nj\u00eb infrastrukture t\u00eb ve\u00e7ant\u00eb p\u00ebr ruajtjen e t\u00eb dh\u00ebnave zhduket dhe, si pasoj\u00eb, shpenzimet e lidhura q\u00eb dalin nga kjo.<\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2014 rikarikimi\" src=\"\/wp-content\/uploads\/2019\/04\/e3259ea6113d1c6549da556ec365b394.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDuke p\u00ebrdorur API Service Grid, mund t\u00eb vendosni nj\u00eb sh\u00ebrbim, thjesht duke treguar n\u00eb konfigurim skem\u00ebn e vendosjes dhe, p\u00ebrkat\u00ebsisht, sh\u00ebrbimin vet\u00eb.<\/p>\n<p>Nj\u00eb skem\u00eb e zakonshme vendosjeje \u00ebsht\u00eb p\u00ebrcaktimi i numrit t\u00eb instancave q\u00eb duhet t\u00eb vendosen n\u00eb nyjet e klasterit. Ka dy skema tipike vendosjeje. E para \u2013 \u00ebsht\u00eb Cluster Singleton: n\u00eb \u00e7do moment, n\u00eb klaster garanton q\u00eb do t\u00eb jet\u00eb e disponueshme nj\u00eb instanc\u00eb e vetme e sh\u00ebrbimit t\u00eb p\u00ebrdoruesit. E dyta \u2013 \u00ebsht\u00eb Node Singleton: n\u00eb \u00e7do nyje t\u00eb klasterit \u00ebsht\u00eb vendosur nj\u00eb instanc\u00eb e sh\u00ebrbimit. <\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2014 rikarikimi\" src=\"\/wp-content\/uploads\/2019\/04\/645b2c11a95d4ad578e3c14d44894e30.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00ebrdoruesi gjithashtu mund t\u00eb p\u00ebrcaktoj\u00eb numrin e instancave t\u00eb sh\u00ebrbimit n\u00eb t\u00eb gjith\u00eb klasterin dhe t\u00eb vendos\u00eb nj\u00eb predikat p\u00ebr filtrimin e nyjeve p\u00ebrkat\u00ebse. N\u00eb k\u00ebt\u00eb skenar, Service Grid do t\u00eb llogaris\u00eb shp\u00ebrndarjen optimale p\u00ebr vendosjen e sh\u00ebrbimeve.<\/p>\n<p>P\u00ebr m\u00eb tep\u00ebr, ekziston nj\u00eb ve\u00e7ori si Sh\u00ebrbimi i Afinitetit. Afiniteti \u00ebsht\u00eb nj\u00eb funksion q\u00eb p\u00ebrcakton lidhjen e \u00e7el\u00ebsave me parti dhe lidhjen e partive me nyjat n\u00eb topologji. Sipas \u00e7el\u00ebsit, mund t\u00eb p\u00ebrcaktohet nyja kryesore, ku ruhen t\u00eb dh\u00ebnat. K\u00ebshtu, mund t\u00eb asociohet sh\u00ebrbimi juaj me \u00e7el\u00ebsin dhe me cache-in e funksionit t\u00eb afinitetit. N\u00eb rast se ndodh nj\u00eb ndryshim n\u00eb funksionin e afinitetit, do t\u00eb ndodh\u00eb nj\u00eb ri-deployment automatik. K\u00ebshtu, sh\u00ebrbimi do t\u00eb vendoset gjithmon\u00eb pran\u00eb t\u00eb dh\u00ebnave me t\u00eb cilat duhet t\u00eb manipuloj\u00eb, duke ulur p\u00ebr pasoj\u00eb kostot e aksesit n\u00eb informacion. Kjo skem\u00eb mund t\u00eb quhet nj\u00eb lloj llogaritjesh t\u00eb kolokuar.<\/p>\n<p>Tani, kur e kemi analizuar se \u00e7far\u00eb e b\u00ebn Sh\u00ebrbimin e Grid\u00ebs t\u00eb ve\u00e7ant\u00eb, do t\u00eb flasim p\u00ebr historin\u00eb e tij t\u00eb zhvillimit.<\/p>\n<h2>\u00c7far\u00eb ndodhi m\u00eb par\u00eb<\/h2>\n<p>\nImplementimi i kaluar i Sh\u00ebrbimit t\u00eb Grid\u00ebs bazohej n\u00eb nj\u00eb cache sistemik transaksional t\u00eb replikuar, si Ignite. N\u00ebn termin \"cache\" n\u00eb Ignite kuptohet nj\u00eb magazin\u00eb. K\u00ebshtu, kjo nuk \u00ebsht\u00eb di\u00e7ka e p\u00ebrkohshme, si\u00e7 mund t\u00eb mendohet. Edhe pse cache-i \u00ebsht\u00eb i replikuar dhe \u00e7do nyje p\u00ebrmban t\u00eb gjith\u00eb setin e t\u00eb dh\u00ebnave, brenda cache-it ka nj\u00eb pamje t\u00eb ndar\u00eb n\u00eb party. Kjo lidhet me optimizimin e magazinave. <\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2014 rikarikimi\" 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 b\u00ebj\u00eb deploy t\u00eb sh\u00ebrbimit?<\/p>\n<ul>\n<li>T\u00eb gjitha nyjat n\u00eb klaster ishin t\u00eb regjistruara p\u00ebr t\u00eb marr\u00eb p\u00ebrdit\u00ebsimin e t\u00eb dh\u00ebnave n\u00eb magazin\u00eb p\u00ebrmes mekanizmit t\u00eb integruar Continuous Query.\n<\/li>\n<li>Nyja inicizuese, n\u00ebn nj\u00eb transaksion t\u00eb leximit t\u00eb miratuar, b\u00ebnte nj\u00eb regjistrim n\u00eb baz\u00ebn e t\u00eb dh\u00ebnave, e cila p\u00ebrmbante konfigurimin e sh\u00ebrbimit, p\u00ebrfshir\u00eb nj\u00eb instanc\u00eb t\u00eb serializuar.\n<\/li>\n<li>Kur merrte nj\u00eb njoftim p\u00ebr nj\u00eb regjistrim t\u00eb ri, koordinator\u00ebt llogaritnin shp\u00ebrndarjen sipas konfigurimit. Objekti i marr\u00eb regjistrohej p\u00ebrs\u00ebri n\u00eb baz\u00eb.\n<\/li>\n<li>N\u00ebse nyja hynte n\u00eb shp\u00ebrndarje, koordinator\u00ebt duhej ta b\u00ebnin at\u00eb deploy.\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 k\u00ebshtu nuk mund t\u00eb punonim me sh\u00ebrbimet. Arsyet ishin disa.<\/p>\n<p>N\u00ebse gjat\u00eb deploy-it ndodhte nj\u00eb gabim, mund t\u00eb merrej vesh vet\u00ebm nga log-et e asaj nyje ku ndodhi gjith\u00e7ka. Ekzistonte vet\u00ebm nj\u00eb deploy asinkron, k\u00ebshtu q\u00eb pas kthimit t\u00eb kontrollit te p\u00ebrdoruesi nga metoda e deploy-it, k\u00ebrkohej nj\u00eb koh\u00eb shtes\u00eb p\u00ebr t\u00eb nisur sh\u00ebrbimin \u2014 dhe gjat\u00eb k\u00ebsaj kohe p\u00ebrdoruesi nuk mund t\u00eb menaxhonte asgj\u00eb. P\u00ebr t\u00eb zhvilluar m\u00eb tej Sh\u00ebrbimin e Grid\u00ebs, p\u00ebr t\u00eb zhvilluar ve\u00e7ori t\u00eb reja, p\u00ebr t\u00eb t\u00ebrhequr p\u00ebrdorues t\u00eb rinj dhe p\u00ebr t\u00eb b\u00ebr\u00eb jet\u00ebn e t\u00eb gjith\u00ebve m\u00eb t\u00eb leht\u00eb, duhej t\u00eb ndryshonim di\u00e7ka.<\/p>\n<p>Kur dizajnimin e Service Grid t\u00eb ri, ne n\u00eb radh\u00eb t\u00eb par\u00eb d\u00ebshironim t\u00eb ofronim garancin\u00eb e nj\u00eb deploji t\u00eb sinkronizuar: sa her\u00eb q\u00eb p\u00ebrdoruesit iu rikthye kontrolli nga API, ata mund t\u00eb fillonin menj\u00ebher\u00eb t\u00eb p\u00ebrdorin sh\u00ebrbimet. Po ashtu, d\u00ebshironim t'i ofronim iniciatorit mund\u00ebsin\u00eb p\u00ebr t\u00eb trajtuar gabimet e deploit.<\/p>\n<p>P\u00ebrve\u00e7 k\u00ebsaj, d\u00ebshironim ta leht\u00ebsonim implementimin, dmth. t\u00eb shmangnim transaksionet dhe ribalancimin. Megjith\u00ebse cache \u00ebsht\u00eb replikues dhe nuk ka balancim, gjat\u00eb deplojeve t\u00eb m\u00ebdha me shum\u00eb node jan\u00eb shfaqur probleme. Kur ndryshon topologjia, node-t duhet t\u00eb shk\u00ebmbejn\u00eb informacion, dhe gjat\u00eb nj\u00eb deploje 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 kishte nevoj\u00eb t\u00eb ri-kalibronte shp\u00ebrndarjen e sh\u00ebrbimeve. Po ashtu, kur punoni me transaksione 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\u00eb parashikuar.<\/p>\n<h2>Problemet<\/h2>\n<p>\nCilat jan\u00eb ndryshimet globale pa probleme p\u00ebrkat\u00ebse? E para q\u00eb u shfaq ishte ndryshimi i topologjis\u00eb. Duhet t\u00eb kuptohet se n\u00eb \u00e7do moment, madje edhe n\u00eb momentin e deploimit t\u00eb sh\u00ebrbimit, nj\u00eb node mund t\u00eb hyj\u00eb ose t\u00eb dal\u00eb nga klasteri. M\u00eb shum\u00eb se kaq, n\u00ebse nj\u00eb node hyn n\u00eb klaster gjat\u00eb deploimit, do t\u00eb jet\u00eb e nevojshme t\u00eb kaloj\u00eb informacionin p\u00ebr sh\u00ebrbimet n\u00eb node-n e ri n\u00eb m\u00ebnyr\u00eb koherente. Dhe flasim jo vet\u00ebm p\u00ebr ato q\u00eb tashm\u00eb jan\u00eb vendosur, por edhe p\u00ebr deploimet aktuale dhe t\u00eb ardhshme.<\/p>\n<p>Kjo \u00ebsht\u00eb vet\u00ebm nj\u00eb nga problemet q\u00eb mund t\u00eb p\u00ebrmbledhin n\u00eb nj\u00eb list\u00eb t\u00eb ve\u00e7ant\u00eb:<\/p>\n<ul>\n<li>Si t\u00eb deplojm\u00eb sh\u00ebrbimet e konfiguruara statikisht gjat\u00eb nisjes s\u00eb node-it?\n<\/li>\n<li>Dalja e node-it nga klasteri \u2013 \u00e7far\u00eb duhet t\u00eb b\u00ebjm\u00eb n\u00ebse node-i kishte angazhuar sh\u00ebrbime?\n<\/li>\n<li>\u00c7far\u00eb duhet t\u00eb b\u00ebjm\u00eb n\u00ebse ndryshoi koordinatori?\n<\/li>\n<li>\u00c7far\u00eb duhet t\u00eb b\u00ebjm\u00eb n\u00ebse klienti u ri-lidh me klasterin?\n<\/li>\n<li>A duhet t\u00eb trajtojm\u00eb k\u00ebrkesat p\u00ebr aktivizim \/ deaktivizim dhe si?\n<\/li>\n<li>E \u00e7far\u00eb n\u00ebse thirret shkat\u00ebrrimi i cache-it, dhe ne kemi sh\u00ebrbime me afinitet q\u00eb varen nga ai?\n<\/li>\n<\/ul>\n<p>\nDhe kjo nuk \u00ebsht\u00eb aspak e gjitha. <\/p>\n<h2>Zgjidhja<\/h2>\n<p>\nKemi zgjedhur si qasje q\u00ebllimore qasjen e drejtuar nga ngjarjet me implementimin e komunikimit t\u00eb proceseve p\u00ebrmes mesazheve. N\u00eb Ignite tashm\u00eb jan\u00eb implementuar dy komponente, t\u00eb cilat lejojn\u00eb node-t t\u00eb d\u00ebrgojn\u00eb mesazhe mes tyre, - communication-spi dhe discovery-spi.<\/p>\n<p><img decoding=\"async\" alt=\"Ignite Service Grid \u2014 rikarikimi\" src=\"\/wp-content\/uploads\/2019\/04\/b95a4951ae4e04a67581a44921e88bcc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCommunication-spi lejon q\u00eb nodet t\u00eb komunikojn\u00eb drejtp\u00ebrdrejt dhe t\u00eb d\u00ebrgojn\u00eb mesazhe. Ai \u00ebsht\u00eb i p\u00ebrshtatsh\u00ebm p\u00ebr d\u00ebrgimin e nj\u00eb sasi t\u00eb madhe t\u00eb t\u00eb dh\u00ebnave. Discovery-spi lejon d\u00ebrgimin e nj\u00eb mesazhi te t\u00eb gjitha nodet n\u00eb klaster. N\u00eb implementimin standard, kjo b\u00ebhet me topologjin\u00eb \"unaz\u00eb\". Gjithashtu, ka integrim me Zookeeper, n\u00eb k\u00ebt\u00eb rast p\u00ebrdoret topologjia \"yll\". Nj\u00eb pik\u00eb tjet\u00ebr e r\u00ebnd\u00ebsishme \u00ebsht\u00eb se discovery-spi ofron garanci se mesazhi do t\u00eb dor\u00ebzohet sakt\u00ebsisht n\u00eb rendin e duhur te t\u00eb gjitha nodet. <\/p>\n<p>T\u00eb shqyrtojm\u00eb protokollin e deploy-it. T\u00eb gjitha k\u00ebrkesat e p\u00ebrdoruesve p\u00ebr deploy dhe undeploy d\u00ebrgohen p\u00ebrmes discovery-spi. Kjo ofron garancit\u00eb e m\u00ebposhtme <i>garancit\u00eb<\/i>:<\/p>\n<ul>\n<li>K\u00ebrkesa do t\u00eb pranohen nga t\u00eb gjith\u00eb nodet n\u00eb klaster. Kjo do t\u00eb lejoj\u00eb vazhdimin e p\u00ebrpunimit t\u00eb k\u00ebrkes\u00ebs n\u00eb rast se koordinatori ndryshon. Gjithashtu, kjo do t\u00eb thot\u00eb se p\u00ebr nj\u00eb mesazh t\u00eb vet\u00ebm, \u00e7do nod do t\u00eb ket\u00eb t\u00eb gjitha metadat\u00ebt e nevojshme, si konfigurimi i sh\u00ebrbimit dhe instanca e tij e serializuar.\n<\/li>\n<li>Rendi i rrept\u00eb i dor\u00ebzimit t\u00eb mesazheve lejon zgjidhjen e konflikteve t\u00eb konfigurimeve dhe k\u00ebrkesave konkurruese.\n<\/li>\n<li>Duke qen\u00eb se hyrja e nodit n\u00eb topologji p\u00ebrpunsohet 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>\nMe marrjen e k\u00ebrkes\u00ebs, nodet n\u00eb klaster e validitojn\u00eb at\u00eb dhe formojn\u00eb detyra p\u00ebr p\u00ebrpunim. K\u00ebto detyra grumbullohen n\u00eb nj\u00eb radh\u00eb dhe pastaj p\u00ebrpunohen n\u00eb nj\u00eb tjet\u00ebr thread nga nj\u00eb pun\u00ebtor i ve\u00e7ant\u00eb. Kjo \u00ebsht\u00eb realizuar n\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb, sepse deploy mund t\u00eb marr\u00eb nj\u00eb koh\u00eb t\u00eb konsiderueshme dhe ndalimi i rrjedh\u00ebs s\u00eb shtrirjes \u00ebsht\u00eb i papranuesh\u00ebm.<\/p>\n<p>T\u00eb gjitha k\u00ebrkesat nga radha p\u00ebrpunohen nga menaxheri i deploy-it. Ai ka nj\u00eb pun\u00ebtor t\u00eb ve\u00e7ant\u00eb q\u00eb nxjerr nj\u00eb detyr\u00eb nga kjo radh\u00eb dhe e inicializon p\u00ebr t\u00eb filluar implementimin. Pas k\u00ebsaj, ndodhin hapat e m\u00ebposht\u00ebm:<\/p>\n<ol>\n<li>\u00c7do nod llogarit vet\u00eb shp\u00ebrndarjen p\u00ebrmes nj\u00eb funksioni t\u00eb assign-it t\u00eb ri dhe t\u00eb caktuar.\n<\/li>\n<li>Nodet formojn\u00eb nj\u00eb mesazh me rezultatet e deploy-it dhe e d\u00ebrgojn\u00eb at\u00eb te koordinatori.\n<\/li>\n<li>Koordinatori agregon t\u00eb gjitha mesazhet dhe formon rezultatin e gjith\u00eb procesit t\u00eb deploy-it, i cili d\u00ebrgohet p\u00ebrmes discovery-spi t\u00eb gjitha nodet n\u00eb klaster.\n<\/li>\n<li>Me marrjen e rezultatit, procesi i deploy-it p\u00ebrfundon, pas s\u00eb cil\u00ebs detyra fshihet nga radha.\n<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Ignite Service Grid \u2014 rikarikimi\" src=\"\/wp-content\/uploads\/2019\/04\/5f16bfae25e00c2e125be8fedb7cccb7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Dizajni i ri i bazuar n\u00eb ngjarje: org.apache.ignite.internal.processors.service.IgniteServiceProcessor.java<\/i><\/p>\n<p>N\u00ebse ndodhi nj\u00eb gabim gjat\u00eb shpalosjes, ndihm\u00ebsi menj\u00ebher\u00eb e p\u00ebrfshin k\u00ebt\u00eb gabim n\u00eb mesazhin q\u00eb e d\u00ebrgon te koordinatori. Pas agregimit t\u00eb mesazheve, koordinatori do t\u00eb ket\u00eb informacion mbi t\u00eb gjitha gabimet gjat\u00eb shp\u00ebrndarjes dhe do ta d\u00ebrgoj\u00eb k\u00ebt\u00eb mesazh p\u00ebr discovery-spi. Informacioni mbi gabimet do t\u00eb jet\u00eb i disponuesh\u00ebm n\u00eb \u00e7do ndihm\u00ebs n\u00eb klaster. <\/p>\n<p>Me k\u00ebt\u00eb algorit\u00ebm, trajtohen 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 p\u00ebr discovery-spi. Dhe n\u00eb p\u00ebrgjith\u00ebsi, n\u00ebse e krahasojm\u00eb me at\u00eb q\u00eb ishte, protokolli doli mjaft i leht\u00eb dhe i besuesh\u00ebm. Aq sa t\u00eb trajtoj\u00eb \u00e7do situat\u00eb gjat\u00eb shp\u00ebrndarjes. <\/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. Redizajnimi 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 nr. 17<\/a><\/noindex> me titullin humoristik \"Z\u00ebvend\u00ebsimi i vajit n\u00eb Service Grid.\" Por n\u00eb fakt, ne e kemi nd\u00ebrruar jo vet\u00ebm vajin n\u00eb motor, por t\u00ebr\u00eb motorin. <\/p>\n<p>Ne i kemi ndar\u00eb detyrat n\u00eb IEP n\u00eb 2 faza. Faza e par\u00eb \u2014 faza e madhe, q\u00eb p\u00ebrfshin rishikimin e protokollit t\u00eb shp\u00ebrndarjes. Ajo tashm\u00eb \u00ebsht\u00eb p\u00ebrfshir\u00eb n\u00eb master, mund t\u00eb provoni Service Grid t\u00eb ri, i cili do t\u00eb dal\u00eb n\u00eb versionin 2.8. Faza e dyt\u00eb p\u00ebrfshin shum\u00eb detyra t\u00eb tjera:<\/p>\n<ul>\n<li>Rishp\u00ebrndarje e nxeht\u00eb\n<\/li>\n<li>Versionimi i sh\u00ebrbimeve\n<\/li>\n<li>Rritja e q\u00ebndrueshm\u00ebris\u00eb ndaj d\u00ebshtimit\n<\/li>\n<li>Klienti i holl\u00eb\n<\/li>\n<li>Veglat e monitorimit dhe num\u00ebrimit t\u00eb metrikave t\u00eb ndryshme\n<\/li>\n<\/ul>\n<p>\nMund t\u00eb rekomandojm\u00eb Service Grid p\u00ebr nd\u00ebrtimin e sistemeve t\u00eb q\u00ebndrueshme me disponueshm\u00ebri t\u00eb lart\u00eb. Po ashtu, ju ftojm\u00eb p\u00ebr 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 v\u00ebrtet e r\u00ebnd\u00ebsishme p\u00ebr komunitetin, ajo do t\u00eb ndihmoj\u00eb n\u00eb kuptimin e drejtimit t\u00eb ardhsh\u00ebm, si t\u00eb zhvillojm\u00eb komponentin 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.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\/sq\/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=\"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.\" \/>\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\udd47 Ignite Service Grid \u2014 p\u00ebrs\u00ebri n\u00eb pun\u00eb | ProHoster","description":"M\u00eb 26 shkurt mbajt\u00ebm nj\u00eb mitap Apache Ignite GreenSource, ku fol\u00ebs ishin kontribuuesit e projektit open source Apache Ignite.","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.","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}]}}