{"id":37335,"date":"2019-10-31T22:17:01","date_gmt":"2019-10-31T19:17:01","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kot-shryodingera-bez-korobki-problema-konsensusa-v-raspredelyonnyh-sistemah\/"},"modified":"2019-10-31T22:17:01","modified_gmt":"2019-10-31T19:17:01","slug":"kot-shryodingera-bez-korobki-problema-konsensusa-v-raspredelyonnyh-sistemah","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kot-shryodingera-bez-korobki-problema-konsensusa-v-raspredelyonnyh-sistemah","title":{"rendered":"Maci i Schr\u00f6dingerit pa kutia: problemi i konsensusit n\u00eb sistemet e shp\u00ebrndara","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Tani, le t\u00eb imagjinojm\u00eb. N\u00eb nj\u00eb dhom\u00eb jan\u00eb t\u00eb mbyllur 5 macet, dhe q\u00eb t\u00eb shkojn\u00eb t\u00eb zgjojn\u00eb pronarin, ata duhet s\u00eb bashku t\u00eb bien dakord, sepse dera mund t\u00eb hapet vet\u00ebm n\u00ebse ata p\u00ebrleshen mbi t\u00eb si pes\u00eb. N\u00ebse nj\u00ebra nga macet \u00ebsht\u00eb macja e Schr\u00f6dingerit, dhe macet e tjera nuk e din\u00eb vendimin e tij, ngrihet pyetja: \"Si mund ta b\u00ebjn\u00eb k\u00ebt\u00eb?\" <\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u044f\u0437\u044b\u043a\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u0432\u0430\u043c \u043e \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0439 \u043c\u0438\u0440\u0430 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430\u0445 \u0438\u0445 \u0440\u0430\u0431\u043e\u0442\u044b. \u0410 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u044e \u0433\u043b\u0430\u0432\u043d\u0443\u044e \u0438\u0434\u0435\u044e, \u043b\u0435\u0436\u0430\u0449\u0443\u044e \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 Paxos&#8217;\u0430. <\/p>\n<p><img decoding=\"async\" alt=\"Maci i Schr\u00f6dingerit pa kutia: problemi i konsensusit n\u00eb sistemet e shp\u00ebrndara\" src=\"\/wp-content\/uploads\/2019\/08\/17c1edb1fca739d29dc4922bbbe820ce.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nKur zhvilluesit p\u00ebrdorin infrastruktura cloud, bazat e t\u00eb dh\u00ebnave t\u00eb ndryshme, punojn\u00eb n\u00eb grupe t\u00eb m\u00ebdha nodosh, ata jan\u00eb t\u00eb sigurt se t\u00eb dh\u00ebnat do t\u00eb jen\u00eb t\u00eb plota, t\u00eb sigurta dhe gjithmon\u00eb t\u00eb disponueshme. Por nga vijn\u00eb k\u00ebto garanci?<\/p>\n<p>N\u00eb thelb, garancit\u00eb q\u00eb kemi jan\u00eb garanci t\u00eb ofruesit. Ato p\u00ebrshkruhen n\u00eb dokumentacion n\u00eb m\u00ebnyr\u00eb t\u00eb till\u00eb: \"Ky sh\u00ebrbim \u00ebsht\u00eb mjaft i sigurt, ai ka nj\u00eb SLA t\u00eb caktuar, mos u shqet\u00ebsoni, gjith\u00e7ka do t\u00eb funksionoj\u00eb n\u00eb m\u00ebnyr\u00eb t\u00eb shp\u00ebrndar\u00eb, si\u00e7 e prisni.\" <\/p>\n<p>Nejse t\u00eb besojm\u00eb n\u00eb t\u00eb mirat, pasi djemt\u00eb inteligjent\u00eb nga kompanit\u00eb e m\u00ebdha na siguruan se gjith\u00e7ka do t\u00eb shkoj\u00eb mir\u00eb. Nuk e pyesim veten: pse, n\u00eb t\u00eb v\u00ebrtet\u00eb, kjo mund t\u00eb funksionoj\u00eb? A ka ndonj\u00eb justifikim formal p\u00ebr sakt\u00ebsin\u00eb e pun\u00ebs s\u00eb k\u00ebtyre sistemeve?<\/p>\n<p>Koh\u00ebt e fundit isha n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/sptdc.ru\">shkoll\u00ebn p\u00ebr llogaritjet e shp\u00ebrndara<\/a><\/noindex> dhe u frym\u00ebzova shum\u00eb nga kjo tem\u00eb. Ligj\u00ebratat n\u00eb shkoll\u00eb ishin m\u00eb shum\u00eb si m\u00ebsimet e analiz\u00ebs matematike sesa di\u00e7ka q\u00eb ka t\u00eb b\u00ebj\u00eb me sistemet kompjuterike. Por k\u00ebshtu u provuan n\u00eb koh\u00ebn e tyre algoritmet m\u00eb t\u00eb r\u00ebnd\u00ebsishme q\u00eb p\u00ebrdorim \u00e7do dit\u00eb, pa e kuptuar. <\/p>\n<p>N\u00eb shumic\u00ebn e sistemeve moderne t\u00eb shp\u00ebrndara, p\u00ebrdoret algoritmi i konsensusit Paxos dhe modifikimet e tij t\u00eb ndryshme. E gjitha m\u00eb e mrekullueshme \u00ebsht\u00eb se justifikimi dhe, p\u00ebr n\u00eb p\u00ebrgjith\u00ebsi, vet\u00eb ekzistenca e k\u00ebtij algoritmi mund t\u00eb provohet thjesht me nj\u00eb laps dhe let\u00ebr. Nd\u00ebrkoh\u00eb, n\u00eb praktik\u00eb, algoritmi p\u00ebrdoret n\u00eb sisteme t\u00eb m\u00ebdha q\u00eb punojn\u00eb n\u00eb nj\u00eb num\u00ebr t\u00eb madh nod\u00ebsh n\u00eb re. <\/p>\n<p><b class=\"spoiler_title\">Nj\u00eb ilustrim i leht\u00eb i asaj p\u00ebr t\u00eb cil\u00ebn do t\u00eb flasim m\u00eb pas: problemi i dy gjeneral\u00ebve<\/b>Le t\u00eb shqyrtojm\u00eb p\u00ebr ngrohje <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%B4%D0%B2%D1%83%D1%85_%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D0%BB%D0%BE%D0%B2\">problemin e dy gjeneral\u00ebve<\/a><\/noindex>. <\/p>\n<p>Kemi dy ushtri \u2013 nj\u00eb e kuqe dhe nj\u00eb e bardh\u00eb. Ushtrit\u00eb e bardha jan\u00eb t\u00eb vendosura n\u00eb qytetin e rrethuar. Ushtrit\u00eb e kuqe, t\u00eb udh\u00ebhequra nga gjeneral\u00ebt A1 dhe A2, ndodhen n\u00eb an\u00ebt e qytetit. Detyra e kuqve \u00ebsht\u00eb t\u00eb sulmojn\u00eb qytetin e bardh\u00eb dhe t\u00eb fitojn\u00eb. Megjithat\u00eb, forca e secilit gjeneral t\u00eb kuq \u00ebsht\u00eb m\u00eb e vog\u00ebl se ajo e t\u00eb bardh\u00ebve.<\/p>\n<p><img decoding=\"async\" alt=\"Maci i Schr\u00f6dingerit pa kutia: problemi i konsensusit n\u00eb sistemet e shp\u00ebrndara\" src=\"\/wp-content\/uploads\/2019\/08\/2a684a484d4f6cb3d4e33f2367206d9c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKushtet e fitores p\u00ebr t\u00eb kuqt\u00eb: t\u00eb dy gjeneral\u00ebt duhet t\u00eb sulmojn\u00eb nj\u00ebkoh\u00ebsisht, n\u00eb m\u00ebnyr\u00eb q\u00eb t\u00eb ken\u00eb nj\u00eb p\u00ebrpar\u00ebsi numerike ndaj t\u00eb bardh\u00ebve. P\u00ebr k\u00ebt\u00eb, gjeneral\u00ebt A1 dhe A2 duhet t\u00eb bien dakord me nj\u00ebri-tjetrin. N\u00ebse secili sulmon ve\u00e7mas, t\u00eb kuqt\u00eb do t\u00eb humbin. <\/p>\n<p>P\u00ebr t\u00eb r\u00ebn\u00eb dakord, gjeneral\u00ebt A1 dhe A2 mund t\u00eb d\u00ebrgojn\u00eb mesazher\u00eb me kalim p\u00ebrmes territorit t\u00eb qytetit t\u00eb bardh\u00eb. Mesazheri mund t\u00eb arrij\u00eb me sukses te gjenerali aleat ose mund t\u00eb kapet nga armiku. Pyetja: a ka nj\u00eb renditje t\u00eb till\u00eb komunikimi midis gjeneral\u00ebve t\u00eb kuq (renditja e d\u00ebrgimit t\u00eb mesazher\u00ebve nga A1 te A2 dhe p\u00ebrkundrazi nga A2 te A1), n\u00eb t\u00eb cil\u00ebn ata do t\u00eb bien dakord p\u00ebr sulmin n\u00eb or\u00ebn X. K\u00ebtu, n\u00ebn garancit\u00eb n\u00ebnkuptohet se t\u00eb dy gjeneral\u00ebt do t\u00eb ken\u00eb nj\u00eb konfirmim t\u00eb qart\u00eb se aleati (gjenerali tjet\u00ebr) me t\u00eb v\u00ebrtet\u00eb do t\u00eb sulmoj\u00eb n\u00eb koh\u00ebn e caktuar X.<\/p>\n<p>Le t\u00eb supozojm\u00eb se A1 d\u00ebrgon nj\u00eb ambasador te A2 me mesazhin: \u00abLe t\u00eb sulmojm\u00eb sot n\u00eb mesnat\u00eb!\u00bb. Generali A1 nuk mund t\u00eb sulmoj\u00eb pa konfirmimin nga generalit A2. N\u00ebse ambasadori nga A1 arrin, at\u00ebher\u00eb generali A2 d\u00ebrgon nj\u00eb konfirmim me mesazhin: \u00abPo, le t\u00eb sulmojm\u00eb sot e t\u00eb hedhim posht\u00eb t\u00eb bardh\u00ebt\u00bb. Por tani, generali A2 nuk e di n\u00ebse ambasadori i tij ka arritur apo jo, nuk ka garanci se sulmi do t\u00eb ndodh\u00eb nj\u00ebkoh\u00ebsisht. Tani, generali A2 ka p\u00ebrs\u00ebri nevoj\u00eb p\u00ebr konfirmim.<\/p>\n<p>N\u00ebse e zgjerojm\u00eb komunikimin e tyre m\u00eb tej, do t\u00eb zbulojm\u00eb se sa her\u00eb q\u00eb ka cikle t\u00eb shk\u00ebmbimit t\u00eb mesazheve, nuk ka m\u00ebnyr\u00eb p\u00ebr t\u00eb garantuar q\u00eb t\u00eb dy general\u00ebt t\u00eb njoftohen se mesazhet e tyre jan\u00eb pranuar (n\u00ebn kushte, ku ndonj\u00eb nga ambasador\u00ebt mund t\u00eb kapet).<\/p>\n<p>Detyra e dy general\u00ebve \u00ebsht\u00eb nj\u00eb ilust\u00ebrim i shk\u00eblqyer i nj\u00eb sistemi t\u00eb thjesht\u00eb t\u00eb shp\u00ebrndar\u00eb, ku ka dy nyje me komunikim t\u00eb paq\u00ebndrosur. K\u00ebshtu, nuk kemi nj\u00eb garanci 100% q\u00eb ata do t\u00eb sinkronizohen. P\u00ebr probleme t\u00eb tilla, por n\u00eb nj\u00eb shkall\u00eb m\u00eb t\u00eb madhe, do flasim m\u00eb tej n\u00eb artikull.<\/p>\n<h2>E duam konceptin e sistemeve t\u00eb shp\u00ebrndara<\/h2>\n<p>\nNj\u00eb sistem i shp\u00ebrndara \u00ebsht\u00eb nj\u00eb grup kompjuterash (t\u00eb cil\u00ebt do t'i quajm\u00eb nod) q\u00eb mund t\u00eb shk\u00ebmbejn\u00eb mesazhe. \u00c7do nod i ve\u00e7ant\u00eb \u00ebsht\u00eb nj\u00eb entitet autonom. Nj\u00eb nod mund t\u00eb p\u00ebrpunoj\u00eb detyra vetvetiu, por p\u00ebr t\u00eb bashk\u00ebvepruar me nodet e tjera, i nevojitet t\u00eb d\u00ebrgoj\u00eb dhe t\u00eb pranoj\u00eb mesazhe. <\/p>\n<p>Si konkretisht realizohen mesazhet, cilat protokolle p\u00ebrdoren \u2013 kjo nuk na intereson n\u00eb k\u00ebt\u00eb kontekst. E r\u00ebnd\u00ebsishme \u00ebsht\u00eb q\u00eb nodet e sistemit t\u00eb shp\u00ebrndar\u00eb mund t\u00eb shk\u00ebmbejn\u00eb t\u00eb dh\u00ebna me nj\u00ebri-tjetrin p\u00ebrmes d\u00ebrgimit t\u00eb mesazheve.<\/p>\n<p>P\u00ebrcaktimi vet\u00eb duket jo shum\u00eb i komplikuar, por duhet t\u00eb merret parasysh se sistemi i shp\u00ebrndar\u00eb ka nj\u00eb s\u00ebr\u00eb atribute, q\u00eb do t\u00eb jen\u00eb t\u00eb r\u00ebnd\u00ebsishme p\u00ebr ne.<\/p>\n<h4>Atributet e sistemeve t\u00eb shp\u00ebrndara<\/h4>\n<p><\/p>\n<ol>\n<li><b>Konkurrenca<\/b> \u2013 mund\u00ebsia e shfaqjes s\u00eb ngjarjeve t\u00eb nj\u00ebkohshme ose konkurente n\u00eb sistem. M\u00eb shum\u00eb, ne do t\u00eb mendojm\u00eb se ngjarjet q\u00eb ndodhin n\u00eb dy nodet e ndryshme jan\u00eb potencialisht konkurruese derisa t\u00eb kemi nj\u00eb rend t\u00eb qart\u00eb t\u00eb shfaqjes s\u00eb k\u00ebtyre ngjarjeve. Dhe, zakonisht, nuk e kemi k\u00ebt\u00eb.<\/li>\n<li><b>Mungesa e or\u00ebve globale<\/b>. Nuk kemi nj\u00eb rend t\u00eb qart\u00eb t\u00eb ngjarjeve p\u00ebr shkak t\u00eb munges\u00ebs s\u00eb or\u00ebve globale. N\u00eb bot\u00ebn normale t\u00eb njer\u00ebzve, ne jemi m\u00ebsuar me iden\u00eb se kemi or\u00eb dhe koh\u00eb t\u00eb qart\u00eb. Gjith\u00e7ka ndryshon kur b\u00ebhet fjal\u00eb p\u00ebr sistemet e shp\u00ebrndara. Edhe or\u00ebt atomike me sakt\u00ebsi t\u00eb lart\u00eb kan\u00eb drift, dhe ka mund\u00ebsi situatash kur nuk mund t\u00eb themi se cili nga dy ngjarjet ndodhi m\u00eb par\u00eb. Prandaj, ne nuk mund t\u00eb mb\u00ebshtetemi as n\u00eb koh\u00eb.<\/li>\n<li><b>D\u00ebshtimi i pavarur i nj\u00ebsive t\u00eb sistemit<\/b>. Ka edhe nj\u00eb problem tjet\u00ebr: di\u00e7ka mund t\u00eb shkoj\u00eb keq thjesht sepse nj\u00ebsit\u00eb tona nuk jan\u00eb t\u00eb p\u00ebrjetshme. Nj\u00eb disk i fort\u00eb mund t\u00eb d\u00ebshtoj\u00eb, nj\u00eb virtualka n\u00eb re mund t\u00eb rilidhet, mund t\u00eb nd\u00ebrpritet rrjeti dhe mesazhet t\u00eb humbasin. M\u00eb shum\u00eb se kaq, ka mund\u00ebsi situatash kur nj\u00ebsit\u00eb funksionojn\u00eb, por p\u00ebrkundrazi punojn\u00eb kund\u00ebr sistemit. Klasi i fundit i problemeve ka marr\u00eb nj\u00eb em\u00ebr t\u00eb ve\u00e7ant\u00eb: problemi <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%B2%D0%B8%D0%B7%D0%B0%D0%BD%D1%82%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D1%85_%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D0%BB%D0%BE%D0%B2\">i gjeneral\u00ebve bizantin\u00eb<\/a><\/noindex>. Shembulli m\u00eb i njohur i nj\u00eb sistemi t\u00eb shp\u00ebrndar\u00eb me k\u00ebt\u00eb problem \u00ebsht\u00eb Blockchain. Por sot nuk do t\u00eb shqyrtojm\u00eb k\u00ebt\u00eb klas\u00eb t\u00eb ve\u00e7ant\u00eb problemesh. Ne do t\u00eb jemi t\u00eb interesuar p\u00ebr situatat ku thjesht nj\u00eb ose disa nj\u00ebsit\u00eb mund t\u00eb d\u00ebshtojn\u00eb.<\/li>\n<li><b>Modelet e komunikimit (modelet e shk\u00ebmbimit t\u00eb mesazheve) midis nyjeve<\/b>. Ne kemi sqaruar se nyjet komunikojn\u00eb p\u00ebrmes shk\u00ebmbimit t\u00eb mesazheve. Ekzistojn\u00eb dy modele t\u00eb njohura t\u00eb shk\u00ebmbimit t\u00eb mesazheve: sinkrone dhe asinkron.<\/li>\n<\/ol>\n<p><\/p>\n<h4>Modelet e komunikimit midis nyjeve n\u00eb sistemet e shp\u00ebrndara<\/h4>\n<p>\n<b>Modeli sinkron<\/b> \u2013 ne e dim\u00eb sakt\u00ebsisht se ekziston nj\u00eb delta e njohur fundore kohore, p\u00ebrmes s\u00eb cil\u00ebs mesazhi arrin me siguri nga nj\u00eb nyje n\u00eb tjet\u00ebr. N\u00ebse ky koh\u00eb ka kaluar dhe mesazhi nuk ka arritur, mund t\u00eb themi me siguri se nyja ka dal\u00eb jasht\u00eb funksionit. N\u00eb k\u00ebt\u00eb model kemi nj\u00eb koh\u00eb pritjeje t\u00eb parashikueshme. <\/p>\n<p><b>Modeli asinkron<\/b> \u2013 n\u00eb modelet asinkrone ne mendojm\u00eb se koha pritjeje \u00ebsht\u00eb fundore, por nuk ekziston nj\u00eb delta kohe pas s\u00eb cil\u00ebs mund t\u00eb garantojm\u00eb se nyja ka dal\u00eb jasht\u00eb funksionit. Pra, koha e pritjes p\u00ebr mesazhin nga nyja mund t\u00eb jet\u00eb sa t\u00eb doj\u00eb e gjat\u00eb. Ky \u00ebsht\u00eb nj\u00eb p\u00ebrkufizim i r\u00ebnd\u00ebsish\u00ebm dhe do t\u00eb flasim m\u00eb shum\u00eb p\u00ebr t\u00eb m\u00eb von\u00eb. <\/p>\n<h2>Koncepti i konsensusit n\u00eb sistemet e shp\u00ebrndara<\/h2>\n<p>\nPara se ta p\u00ebrcaktojm\u00eb formalisht konceptin e konsensusit, le t\u00eb shqyrtojm\u00eb nj\u00eb shembull situate kur e kemi nevoj\u00eb p\u00ebr t\u00eb, k\u00ebtu \u2013 <b>Replikimi i Masin\u00ebs s\u00eb Shtetit<\/b>. <\/p>\n<p>Ne kemi nj\u00eb log t\u00eb shp\u00ebrndar\u00eb. Do t\u00eb donim q\u00eb ai t\u00eb ishte konsistent dhe t\u00eb p\u00ebrmbante t\u00eb dh\u00ebna identike n\u00eb t\u00eb gjitha nyjet e sistemit t\u00eb shp\u00ebrndar\u00eb. Kur nj\u00eb nga nyjet t\u00eb m\u00ebsoj\u00eb nj\u00eb vler\u00eb t\u00eb re q\u00eb d\u00ebshiron t\u00eb shkruaj\u00eb n\u00eb log, detyra e tij \u00ebsht\u00eb t\u00eb propozoj\u00eb k\u00ebt\u00eb vler\u00eb p\u00ebr t\u00eb gjitha nyjet e tjera, n\u00eb m\u00ebnyr\u00eb q\u00eb logu t\u00eb p\u00ebrdit\u00ebsohet n\u00eb t\u00eb gjitha nyjet dhe sistemi t\u00eb kaloj\u00eb n\u00eb nj\u00eb gjendje t\u00eb re konsistente. \u00cbsht\u00eb e r\u00ebnd\u00ebsishme q\u00eb nyjet t\u00eb bien dakord me nj\u00ebra-tjetr\u00ebn: t\u00eb gjitha nyjet bien dakord se vlera e re e propozuar \u00ebsht\u00eb e sakt\u00eb, t\u00eb gjitha nyjet e pranojn\u00eb k\u00ebt\u00eb vler\u00eb, dhe vet\u00ebm k\u00ebshtu t\u00eb gjith\u00eb mund t\u00eb shkruajn\u00eb vler\u00ebn e re n\u00eb log. <\/p>\n<p>Me fjal\u00eb t\u00eb tjera: asnj\u00eb nga nyjet nuk protestoi se kishte informacion m\u00eb t\u00eb azhurnuar, dhe se vlera e propozuar ishte e gabuar. Marr\u00ebveshja midis nyjeve dhe pajtimi p\u00ebr nj\u00eb vler\u00eb t\u00eb vetme t\u00eb pranuar korrekte \u00ebsht\u00eb konsensusi n\u00eb sistemin e shp\u00ebrndar\u00eb. M\u00eb tej, do t\u00eb flasim p\u00ebr algoritmet q\u00eb lejojn\u00eb q\u00eb sistemi i shp\u00ebrndar\u00eb t\u00eb arrij\u00eb me garanci konsensus.<br \/>\n<img decoding=\"async\" alt=\"Maci i Schr\u00f6dingerit pa kutia: problemi i konsensusit n\u00eb sistemet e shp\u00ebrndara\" src=\"\/wp-content\/uploads\/2019\/08\/300b0834985d5d29286a83b00e6775a8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nM\u00eb formalisht, ne mund t\u00eb p\u00ebrcaktojm\u00eb algoritmin e arritjes s\u00eb konsensusit (ose thjesht algoritmin e konsensusit) si nj\u00eb funksion q\u00eb transferon nj\u00eb sistem t\u00eb shp\u00ebrndar\u00eb nga gjendja A n\u00eb gjendjen B. Ky \u00ebsht\u00eb nj\u00eb gjendje e pranuar nga t\u00eb gjith\u00eb nyjet, dhe t\u00eb gjitha nyjet mund ta konfirmojn\u00eb at\u00eb. Si\u00e7 del, kjo detyr\u00eb nuk \u00ebsht\u00eb aq e thjesht\u00eb sa duket n\u00eb shikim t\u00eb par\u00eb.<\/p>\n<h4>Atributet e algoritmit t\u00eb konsensusit<\/h4>\n<p>\nAlgoritmi i konsensusit duhet t\u00eb ket\u00eb tre atributet p\u00ebr t\u00eb garantuar vazhdimin e sistemit dhe p\u00ebr t\u00eb pasur ndonj\u00eb p\u00ebrparim n\u00eb kalimin nga nj\u00eb gjendje n\u00eb nj\u00eb tjet\u00ebr:<\/p>\n<ol>\n<li><b>Marr\u00ebveshja <\/b> \u2013 t\u00eb gjitha nyjet q\u00eb punojn\u00eb si\u00e7 duhet duhet t\u00eb pranojn\u00eb t\u00eb nj\u00ebjtin vler\u00eb (n\u00eb artikuj, ky atribut gjithashtu takon si atribut i siguris\u00eb). T\u00eb gjitha nyjet q\u00eb aktualisht funksionojn\u00eb (nuk kan\u00eb dal\u00eb jasht\u00eb funksionit dhe nuk kan\u00eb humbur lidhjen me t\u00eb tjerat) duhet t\u00eb arrijn\u00eb nj\u00eb marr\u00ebveshje dhe t\u00eb pranojn\u00eb nj\u00eb vler\u00eb p\u00ebrfundimtare t\u00eb p\u00ebrbashk\u00ebt.\n<p>\u00cbsht\u00eb e r\u00ebnd\u00ebsishme t\u00eb kuptohet se nyjet n\u00eb sistemin e shp\u00ebrndar\u00eb q\u00eb po diskutojm\u00eb d\u00ebshirojn\u00eb t\u00eb bien dakord. Pra, tani po flasim p\u00ebr sisteme ku ndodhin nd\u00ebrprerje (p.sh., nj\u00eb nyje mund t\u00eb d\u00ebshtoj\u00eb), por n\u00eb k\u00ebt\u00eb sistem nuk ka nyje q\u00eb punojn\u00eb q\u00ebllimisht kund\u00ebr t\u00eb tjer\u00ebve (problemi i gjeneral\u00ebve bizantin\u00eb). P\u00ebr shkak t\u00eb k\u00ebtij ve\u00e7ori, sistemi mbetet i q\u00ebndruesh\u00ebm.<\/li>\n<li><b>Integriteti <\/b> \u2014 n\u00ebse t\u00eb gjitha nyjet q\u00eb funksionojn\u00eb sakt\u00eb ofrojn\u00eb t\u00eb nj\u00ebjtin vler\u00eb <b>v<\/b>, at\u00ebher\u00eb \u00e7do nyje q\u00eb funksionon sakt\u00eb duhet t\u00eb pranoj\u00eb k\u00ebt\u00eb vler\u00eb <b>v<\/b>. <\/li>\n<li><b>Mbyllja <\/b>\u2013 t\u00eb gjith\u00eb nyjet q\u00eb funksionojn\u00eb sakt\u00eb, p\u00ebrfundimisht do t\u00eb pranojn\u00eb nj\u00eb vler\u00eb t\u00eb caktuar (pron\u00ebsia e jet\u00ebgjat\u00ebsis\u00eb), e cila e lejon algoritmin t\u00eb ket\u00eb p\u00ebrparim n\u00eb sistem. \u00c7do nyje e ve\u00e7ant\u00eb q\u00eb funksionon sakt\u00eb duhet, p\u00ebr nj\u00eb moment ose nj\u00eb tjet\u00ebr, t\u00eb pranoj\u00eb vler\u00ebn p\u00ebrfundimtare dhe ta konfirmoj\u00eb k\u00ebt\u00eb: \u00abP\u00ebr mua \u2013 kjo vler\u00eb \u00ebsht\u00eb e v\u00ebrtet\u00eb, jam dakord me t\u00ebr\u00eb sistemin\u00bb.<\/li>\n<\/ol>\n<p><\/p>\n<h4>Shembulli i funksionimit t\u00eb algoritmit t\u00eb konsensusit<\/h4>\n<p>\nNd\u00ebrsa gjithsesi vetit\u00eb e algoritmit mund t\u00eb mos jen\u00eb krejt\u00ebsisht t\u00eb qarta. Prandaj, do ta ilustrojm\u00eb me nj\u00eb shembull se cilat faza kalon nj\u00eb algorit\u00ebm t\u00eb thjesht\u00eb konsensusi n\u00eb nj\u00eb sistem me model t\u00eb sinkronizuar t\u00eb shk\u00ebmbimit t\u00eb mesazheve, ku t\u00eb gjitha nodet funksionojn\u00eb si\u00e7 duhet, mesazhet nuk humbasin dhe asgj\u00eb nuk prishet (a ndodh v\u00ebrtet nj\u00eb gj\u00eb e till\u00eb?).<\/p>\n<ol>\n<li>E gjith\u00eb historia fillon me nj\u00eb propozim (Propose). Le t\u00eb supozojm\u00eb se nj\u00eb klient i \u00ebsht\u00eb lidhur nodit t\u00eb quajtur \"Nodi 1\" dhe ka filluar nj\u00eb transaksion, duke kaluar nodit nj\u00eb vler\u00eb t\u00eb re \u2013 O. Nga ky moment, \"Nodi 1\" do ta quajm\u00eb <b>proposer<\/b>. Si proposer, \"Nodi 1\" tani duhet t\u00eb njoftoj\u00eb gjith\u00eb sistemin q\u00eb ai ka t\u00eb dh\u00ebna t\u00eb fresk\u00ebta, dhe ai d\u00ebrgon mesazhe n\u00eb t\u00eb gjitha nodet e tjera: \"Shihni! Kam marr\u00eb vler\u00ebn \"O\", dhe dua ta regjistroj! Ju lutem konfirmoni q\u00eb edhe ju do ta regjistroni \"O\" n\u00eb log-un tuaj.\"\n<p><img decoding=\"async\" alt=\"Maci i Schr\u00f6dingerit pa kutia: problemi i konsensusit n\u00eb sistemet e shp\u00ebrndara\" src=\"\/wp-content\/uploads\/2019\/08\/bd6a9394229b8a2a5b0bf987ba53500b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li> Faza e ardhshme \u00ebsht\u00eb votimi p\u00ebr vler\u00ebn e propozuar (Voting). P\u00ebr \u00e7far\u00eb \u00ebsht\u00eb e nevojshme? Mund t\u00eb ndodh\u00eb q\u00eb nodet e tjera t\u00eb ken\u00eb marr\u00eb informacion m\u00eb t\u00eb fresk\u00ebt, dhe ata kan\u00eb t\u00eb dh\u00ebna p\u00ebr k\u00ebt\u00eb transaksion t\u00eb nj\u00ebjt\u00eb.\n<p><img decoding=\"async\" alt=\"Maci i Schr\u00f6dingerit pa kutia: problemi i konsensusit n\u00eb sistemet e shp\u00ebrndara\" src=\"\/wp-content\/uploads\/2019\/08\/7080d6222971c6bab012410ef9e074e1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKur nodi \u00abNodi 1\u00bb d\u00ebrgon propozimin e tij, nodet e tjera kontrollojn\u00eb n\u00eb log-et e tyre p\u00ebr t\u00eb dh\u00ebnat lidhur me k\u00ebt\u00eb ngjarje. N\u00ebse nuk ka ndonj\u00eb kontradikt\u00eb, nodet shpallin: \u00abPo, nuk kam t\u00eb dh\u00ebna t\u00eb tjera p\u00ebr k\u00ebt\u00eb ngjarje. Vlera \u00abPo\u00bb \u00ebsht\u00eb informacioni m\u00eb i ri q\u00eb kemi mbledhur.\u00bb <\/p>\n<p>N\u00eb cil\u00ebndo rast tjet\u00ebr, nodet mund t\u00eb p\u00ebrgjigjen \u00abNodit 1\u00bb: \u00abD\u00ebgjo! Kam t\u00eb dh\u00ebna m\u00eb t\u00eb fresk\u00ebta p\u00ebr k\u00ebt\u00eb transaksion. Jo \u00abPo\u00bb, por di\u00e7ka m\u00eb t\u00eb mir\u00eb.\u00bb<\/p>\n<p>N\u00eb faz\u00ebn e votimit, nodet arrijn\u00eb nj\u00eb vendim: ose t\u00eb gjith\u00eb pranojn\u00eb nj\u00eb vler\u00eb t\u00eb nj\u00ebjt\u00eb, ose ndonj\u00eb prej tyre voton kund\u00ebr, duke sh\u00ebnuar se ka t\u00eb dh\u00ebna m\u00eb t\u00eb fresk\u00ebta. <\/li>\n<li> N\u00ebse rundi i votimit kalon me sukses, dhe t\u00eb gjith\u00eb jan\u00eb \u00abpro\u00bb, at\u00ebher\u00eb sistemi kalon n\u00eb nj\u00eb faz\u00eb t\u00eb re \u2013 pranimi i vler\u00ebs (Accept). \u00abNodi 1\u00bb mbledh t\u00eb gjitha p\u00ebrgjigjet e nod\u00ebve t\u00eb tjer\u00eb dhe njofton: \u00abT\u00eb gjith\u00eb ran\u00eb dakord me vler\u00ebn \u00abPo\u00bb! Tani e shpall zyrtarisht se \u00abPo\u00bb \u00ebsht\u00eb vlera jon\u00eb e re, e nj\u00ebjt\u00eb p\u00ebr t\u00eb gjith\u00eb! Shkruajeni n\u00eb librin tuaj, mos e harroni. Shkruajeni n\u00eb logun tuaj!\u00bb\n<p><img decoding=\"async\" alt=\"Maci i Schr\u00f6dingerit pa kutia: problemi i konsensusit n\u00eb sistemet e shp\u00ebrndara\" src=\"\/wp-content\/uploads\/2019\/08\/c4bc2af053a27d7030824d45c3ad6def.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li> Nodet e tjera d\u00ebrgojn\u00eb nj\u00eb konfirmim (Accepted) q\u00eb kan\u00eb regjistruar vler\u00ebn \"O\", dhe gjat\u00eb k\u00ebtij koh\u00eb nuk ka pasur asnj\u00eb informacion t\u00eb ri (nj\u00eb lloj angazhimi me dy faza). Pas k\u00ebtij ngjarjeje t\u00eb r\u00ebnd\u00ebsishme, ne konsiderojm\u00eb se transaksioni i shp\u00ebrndar\u00eb ka p\u00ebrfunduar.<br \/>\n <img decoding=\"async\" alt=\"Maci i Schr\u00f6dingerit pa kutia: problemi i konsensusit n\u00eb sistemet e shp\u00ebrndara\" src=\"\/wp-content\/uploads\/2019\/08\/2a9c49729f2607099385fee29f45d1f3.jpg\" style=\"display:block;margin: 0 auto;\" \/> <\/li>\n<\/ol>\n<p>\nPrandaj, algoritmi i konsensit n\u00eb nj\u00eb rast t\u00eb thjesht\u00eb p\u00ebrb\u00ebhet nga kat\u00ebr hapa: propozimi, votimi (voting), pranim (accept), konfirmimi i pranimit (accepted).<\/p>\n<p>N\u00ebse n\u00eb ndonj\u00eb hap nuk arrit\u00ebm t\u00eb arrijm\u00eb nj\u00eb dakord\u00ebsi, algoritmi fillon p\u00ebrs\u00ebri, duke marr\u00eb parasysh informacionin q\u00eb do t\u00eb japin nodet q\u00eb refuzojn\u00eb t\u00eb konfirmojn\u00eb vler\u00ebn e propozuar.<\/p>\n<h2>Algoritmi i konsensit n\u00eb nj\u00eb sistem asinkron<\/h2>\n<p>\nPara k\u00ebsaj, gjith\u00e7ka shkonte mir\u00eb, sepse flasim p\u00ebr nj\u00eb model sinkron t\u00eb shk\u00ebmbimit t\u00eb mesazheve. Por ne e dim\u00eb se n\u00eb bot\u00ebn moderne jemi p\u00ebrshtatur t\u00eb gjith\u00e7ka ta b\u00ebjm\u00eb asinkron. Si funksionon algoritmi i ngjash\u00ebm n\u00eb nj\u00eb sistem me model asinkron t\u00eb shk\u00ebmbimit t\u00eb mesazheve, ku besojm\u00eb se koh\u00ebzgjatja e pritjes p\u00ebr nj\u00eb p\u00ebrgjigje nga nj\u00eb nod mund t\u00eb jet\u00eb aq e gjat\u00eb sa t\u00eb doj\u00eb (p\u00ebr t\u00eb th\u00ebn\u00eb, dalja e nj\u00eb nodi nga puna, gjithashtu mund t\u00eb merret si nj\u00eb shembull kur nj\u00eb nod mund t\u00eb p\u00ebrgjigjet pa fund). <\/p>\n<blockquote><p>Tani, tani kur ne dim\u00eb se si n\u00eb thelb funksionon algoritmi i konsensit, pyetja p\u00ebr lexuesit e kureshtsh\u00ebm q\u00eb kan\u00eb arritur n\u00eb k\u00ebt\u00eb vend \u00ebsht\u00eb: sa node n\u00eb nj\u00eb sistem me N node me nj\u00eb model mesazhesh asinkron mund t\u00eb d\u00ebshtojn\u00eb, n\u00eb m\u00ebnyr\u00eb q\u00eb sistemi t\u00eb mund t\u00eb arrij\u00eb akoma konsensusin?<\/p><\/blockquote>\n<p>\n<b class=\"spoiler_title\">P\u00ebrgjigjja e sakt\u00eb dhe arsyetimi jan\u00eb p\u00ebrmbi spojler.<\/b>P\u00ebrgjigjja e sakt\u00eb: <b>0<\/b>. N\u00ebse edhe nj\u00eb node n\u00eb sistemin asinkron d\u00ebshton, sistemi nuk do t\u00eb mund t\u00eb arrij\u00eb konsensus. Kjo pohim \u00ebsht\u00eb provuar n\u00eb teorem\u00ebn e njohur FLP (1985, Fischer, Lynch, Paterson, lidhja me origjinalin n\u00eb fund t\u00eb artikullit): \"Pamund\u00ebsia p\u00ebr t\u00eb arritur konsensus t\u00eb shp\u00ebrndar\u00eb n\u00eb rast t\u00eb d\u00ebshtimit t\u00eb s\u00eb paku nj\u00eb n\u00f3d\".<br \/>\n<img decoding=\"async\" alt=\"Maci i Schr\u00f6dingerit pa kutia: problemi i konsensusit n\u00eb sistemet e shp\u00ebrndara\" src=\"\/wp-content\/uploads\/2019\/08\/92417aafe00841aaa41cbefe0386e21a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDjem, at\u00ebher\u00eb kemi nj\u00eb problem, ne jemi m\u00ebsuar q\u00eb gjith\u00e7ka \u00ebsht\u00eb asinkrone. E tani, si do t\u00eb vazhdojm\u00eb? <\/p>\n<p>Ne tani po flisnim p\u00ebr teori, p\u00ebr matematik\u00eb. \u00c7far\u00eb do t\u00eb thot\u00eb \"konsensusi nuk mund t\u00eb arrihet\", duke e p\u00ebrkthyer nga gjuha matematikore n\u00eb gjuh\u00ebn ton\u00eb \u2013 inxhinierike? Kjo do t\u00eb thot\u00eb se \"nuk gjithmon\u00eb mund t\u00eb arrihet\", dmth. ekziston nj\u00eb rast n\u00eb t\u00eb cilin konsensusi nuk \u00ebsht\u00eb i arritsh\u00ebm. Cili \u00ebsht\u00eb ky rast? <\/p>\n<p>Kjo \u00ebsht\u00eb nj\u00eb shkelje e pron\u00ebsis\u00eb s\u00eb liveness, e p\u00ebrshkruar m\u00eb sip\u00ebr. Ne nuk kemi nj\u00eb marr\u00ebveshje t\u00eb p\u00ebrgjithshme, dhe sistemi nuk mund t\u00eb ket\u00eb p\u00ebrparim (nuk mund t\u00eb p\u00ebrfundoj\u00eb brenda nj\u00eb kohe t\u00eb caktuar) kur nuk kemi p\u00ebrgjigje nga t\u00eb gjitha nyjet. Sepse n\u00eb nj\u00eb sistem asinkron nuk kemi nj\u00eb koh\u00eb p\u00ebrgjigje t\u00eb parashikueshme, dhe nuk mund ta dim\u00eb n\u00ebse nj\u00eb nyje ka dal\u00eb jasht\u00eb funksionit apo thjesht po p\u00ebrgjigjet ngadal\u00eb.<\/p>\n<p>Por n\u00eb praktik\u00eb, ne mund t\u00eb gjejm\u00eb nj\u00eb zgjidhje. Le t\u00eb supozojm\u00eb se algoritmi yn\u00eb mund t\u00eb funksionoj\u00eb p\u00ebr nj\u00eb koh\u00eb t\u00eb gjat\u00eb n\u00eb rastet e d\u00ebshtimit (potencialisht mund t\u00eb punoj\u00eb pafund\u00ebsisht). Por n\u00eb shumic\u00ebn e situatave, kur shumica e nyjeve funksionojn\u00eb si duhet, do t\u00eb kemi p\u00ebrparim n\u00eb sistem. <\/p>\n<p>N\u00eb praktik\u00eb, ne po merremi me modele komunikimesh pjes\u00ebrisht sinkrone. Pjes\u00ebsia sinkrone kuptohet si: n\u00eb p\u00ebrgjith\u00ebsi, kemi nj\u00eb model asinkron, por formalisht prezantohet nj\u00eb koncept \u2018koha globale e stabilizimit\u2019 n\u00eb nj\u00eb moment t\u00eb caktuar. <\/p>\n<p>Ky moment mund t\u00eb mos vij\u00eb kurr\u00eb, por nj\u00eb dit\u00eb do t\u00eb ndodhi. Zileja virtuale do t\u00eb bjer\u00eb, dhe nga ky moment ne mund t\u00eb parashikojm\u00eb diferenc\u00ebn e koh\u00ebs p\u00ebr t\u00eb cil\u00ebn mesazhet do t\u00eb arrijn\u00eb. Nga ky moment, sistemi kalon nga asinkron n\u00eb sinkron. N\u00eb praktik\u00eb, ne merremi me sistemet e tilla. <\/p>\n<h2>Algoritmi Paxos zgjidh problemet e konsensusit<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Paxos_(computer_science)\">Paxos <\/a><\/noindex> \u2013 \u044d\u0442\u043e \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0435\u0448\u0430\u044e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043a\u043e\u043d\u0441\u0435\u043d\u0441\u0443\u0441\u0430 \u0434\u043b\u044f \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u043f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438 \u0447\u0442\u043e \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0443\u0437\u043b\u044b \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0438\u0437 \u0441\u0442\u0440\u043e\u044f. \u0410\u0432\u0442\u043e\u0440\u043e\u043c Paxos&#8217;\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Leslie_Lamport\">Leslie Lamport<\/a><\/noindex>. Ai propozoi nj\u00eb d\u00ebshmi formale p\u00ebr ekzistenc\u00ebn dhe sakt\u00ebsin\u00eb e algoritmit n\u00eb vitin 1989. <\/p>\n<p>Por d\u00ebshmia rezultoi t\u00eb ishte aspak e thjesht\u00eb. Publikimi i par\u00eb doli vet\u00ebm n\u00eb vitin 1998 (33 faqe) me p\u00ebrshkrimin e algoritmit. Si\u00e7 rezultoi, ajo ishte ekstremisht e komplikuar p\u00ebr t'u kuptuar, dhe n\u00eb vitin 2001 u publikua nj\u00eb sqarim p\u00ebr artikullin, q\u00eb zuri 14 faqe. V\u00ebllimet e publikimeve jan\u00eb t\u00eb paraqitura p\u00ebr t\u00eb treguar se n\u00eb realitet, problemi i konsensusit nuk \u00ebsht\u00eb aspak i leht\u00eb, dhe prapa k\u00ebtyre algoritmeve q\u00ebndron nj\u00eb pun\u00eb e madhe nga njer\u00ebz mjaft inteligjent\u00eb.<\/p>\n<blockquote><p>\u00cbsht\u00eb interesante se vet\u00eb Leslie Lamport n\u00eb ligj\u00ebrat\u00ebn e tij theksoi se n\u00eb artikullin e dyt\u00eb-shpjegues ka nj\u00eb pohim, nj\u00eb rresht (nuk tha cili), i cili mund t\u00eb interpretohet n\u00eb m\u00ebnyra t\u00eb ndryshme. Dhe p\u00ebr shkak t\u00eb k\u00ebsaj, nj\u00eb num\u00ebr i madh i realizimeve moderne t\u00eb Paxos punojn\u00eb jo plot\u00ebsisht sakt\u00eb. <\/p><\/blockquote>\n<p>\n\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0439 \u0440\u0430\u0437\u0431\u043e\u0440 \u0440\u0430\u0431\u043e\u0442\u044b Paxos&#8217;\u0430 \u043f\u043e\u0442\u044f\u043d\u0435\u0442 \u043d\u0435 \u043d\u0430 \u043e\u0434\u043d\u0443 \u0441\u0442\u0430\u0442\u044c\u044e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u043e\u0447\u0435\u043d\u044c \u043a\u043e\u0440\u043e\u0442\u043a\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0438\u0434\u0435\u044e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430. \u0412 \u0441\u0441\u044b\u043b\u043a\u0430\u0445 \u0432 \u043a\u043e\u043d\u0446\u0435 \u043c\u043e\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u0432\u044b \u043d\u0430\u0439\u0434\u0435\u0442\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0433\u043e \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0432 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443.<\/p>\n<h4>Rolat n\u00eb Paxos<\/h4>\n<p>\nN\u00eb algoritmin Paxos ekziston koncepti i rolit. Le t\u00eb shqyrtojm\u00eb tre t\u00eb parat (ekzistojn\u00eb modifikime me role shtes\u00eb):<\/p>\n<ol>\n<li><b>Proposers (n\u00eb disa raste mund t\u00eb hasen terma si: lider\u00eb ose koordinues)<\/b>. K\u00ebta jan\u00eb ata q\u00eb m\u00ebsojn\u00eb p\u00ebr nj\u00eb vler\u00eb t\u00eb re nga p\u00ebrdoruesi dhe marrin p\u00ebrsip\u00ebr rolin e liderit. Detyra e tyre \u00ebsht\u00eb t\u00eb startojn\u00eb nj\u00eb raund ofrimi t\u00eb vler\u00ebs s\u00eb re dhe t\u00eb koordinojn\u00eb veprimet e m\u00ebtejshme t\u00eb nyjave. P\u00ebr m\u00eb tep\u00ebr, Paxos lejon pranin\u00eb e disa lider\u00ebve n\u00eb situata t\u00eb caktuara.<\/li>\n<li><b>Acceptors (Voter)<\/b>. K\u00ebto jan\u00eb nyje q\u00eb votojn\u00eb p\u00ebr pranim ose refuzim t\u00eb nj\u00eb vler\u00eb t\u00eb caktuar. Roli i tyre \u00ebsht\u00eb shum\u00eb i r\u00ebnd\u00ebsish\u00ebm, sepse nga ata varet vendimi: n\u00eb \u00e7far\u00eb gjendje do t\u00eb kaloj\u00eb (ose nuk do t\u00eb kaloj\u00eb) sistemi pas \u00e7do etape t\u00eb algoritmit t\u00eb konsensusit.<\/li>\n<li><b>M\u00ebsuesit<\/b>. Nyjet q\u00eb thjesht pranojn\u00eb dhe regjistrojn\u00eb vler\u00ebn e re t\u00eb pranuar kur gjendja e sistemit ka ndryshuar. Ata nuk marrin vendime, thjesht marrin t\u00eb dh\u00ebna dhe mund t'i japin ato p\u00ebrdoruesit p\u00ebrfundimtar. <\/li>\n<\/ol>\n<p>\nNj\u00eb nyje mund t\u00eb ket\u00eb disa rol n\u00eb situata t\u00eb ndryshme. <\/p>\n<h4>Koncepti i kuorumit<\/h4>\n<p>\nNe supozojm\u00eb se kemi nj\u00eb sistem me <b>N<\/b> nyje. Dhe nga ato maksimum <b>F<\/b> nyje mund t\u00eb dalin jasht\u00eb funksionit. N\u00ebse F nyje dalin jasht\u00eb funksionit, k\u00ebt\u00eb do t\u00eb thot\u00eb se n\u00eb klaster duhet t\u00eb kemi t\u00eb pakt\u00ebn <b>2F + 1<\/b> \u0443\u0437\u043b\u043e\u0432 acceptor&#8217;\u043e\u0432. <\/p>\n<p>Kjo \u00ebsht\u00eb e nevojshme n\u00eb m\u00ebnyr\u00eb q\u00eb ne t\u00eb kemi gjithmon\u00eb, edhe n\u00eb situata m\u00eb t\u00eb k\u00ebqija, q\u00eb nyjet \u2018t\u00eb mira\u2019, q\u00eb funksionojn\u00eb korrekt, t\u00eb ken\u00eb shumic\u00ebn. Pra, <b>F + 1<\/b> \u00abt\u00eb mira\u00bb nyjash, q\u00eb kan\u00eb pranuar, dhe vlera p\u00ebrfundimtare do t\u00eb pranohet. Ndryshe, mund t\u00eb ndodh\u00eb q\u00eb grupet tona lokale t\u00eb pranojn\u00eb vlera t\u00eb ndryshme dhe t\u00eb mos arrijn\u00eb marr\u00ebveshje mes tyre. Prandaj na nevojitet nj\u00eb shumic\u00eb absolute p\u00ebr t\u00eb fituar n\u00eb votim.<\/p>\n<h4>Ideja e p\u00ebrgjithshme e funksionimit t\u00eb algoritmit t\u00eb konsensusit Paxos<\/h4>\n<p>\nAlgoritmi Paxos parashikon dy faza t\u00eb m\u00ebdha, t\u00eb cilat ndahen n\u00eb dy hapa secila:<\/p>\n<ol>\n<li><b>Faza 1a: p\u00ebrgatitja<\/b>. N\u00eb faz\u00ebn e p\u00ebrgatitjes, lideri (proposer) njofton t\u00eb gjith\u00eb nyjat: \"Ne fillojm\u00eb nj\u00eb faz\u00eb t\u00eb re votimi. Kemi nj\u00eb raund t\u00eb ri. Numri i k\u00ebtij raundi \u00ebsht\u00eb n. Tani do t\u00eb fillojm\u00eb t\u00eb votojm\u00eb.\" Nd\u00ebrsa ai thjesht njofton fillimin e ciklit t\u00eb ri, ai nuk jep nj\u00eb vler\u00eb t\u00eb re. Q\u00ebllimi i k\u00ebsaj faze \u00ebsht\u00eb t\u00eb iniciatoj\u00eb nj\u00eb raund t\u00eb ri dhe t\u00eb njoftoj\u00eb t\u00eb gjith\u00eb me numrin e tij unik. Numri i raundit \u00ebsht\u00eb i r\u00ebnd\u00ebsish\u00ebm, duhet t\u00eb jet\u00eb nj\u00eb vler\u00eb m\u00eb e madhe se t\u00eb gjith\u00eb numrat e m\u00ebparsh\u00ebm t\u00eb votimeve nga t\u00eb gjith\u00eb lider\u00ebt e m\u00ebparsh\u00ebm. Kjo sepse p\u00ebrmes numrit t\u00eb raundit, nyjat e tjera n\u00eb sistem do t\u00eb kuptojn\u00eb sa t\u00eb fresk\u00ebta jan\u00eb t\u00eb dh\u00ebnat te lideri. E mundshme \u00ebsht\u00eb q\u00eb nyjat e tjera t\u00eb ken\u00eb tashm\u00eb rezultatet e votimit nga raunde shum\u00eb m\u00eb t\u00eb vonshme dhe ato thjesht do t\u2019i tregojn\u00eb liderit se ai ka mbetur prapa.<\/li>\n<li><b>Faza 1b: Premtimi<\/b>. \u041a\u043e\u0433\u0434\u0430 \u0443\u0437\u043b\u044b-acceptor&#8217;\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u043e\u043c\u0435\u0440 \u043d\u043e\u0432\u043e\u0433\u043e \u044d\u0442\u0430\u043f\u0430 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043d\u0438\u044f, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b \u0434\u0432\u0430 \u0438\u0441\u0445\u043e\u0434\u0430: \n<ul>\n<li>Numri n i votimit t\u00eb ri \u00ebsht\u00eb m\u00eb i madh se numri i \u00e7do votimi t\u00eb m\u00ebparsh\u00ebm n\u00eb t\u00eb cilin merr pjes\u00eb acceptor. At\u00ebher\u00eb acceptor d\u00ebrgon liderit nj\u00eb premtim se nuk do t\u00eb marr\u00eb m\u00eb pjes\u00eb n\u00eb asnj\u00eb votim me numra m\u00eb t\u00eb ul\u00ebt se n. N\u00ebse acceptor ka arritur t\u00eb votoj\u00eb p\u00ebr di\u00e7ka (dometh\u00ebn\u00eb, ai tashm\u00eb ka pranuar nj\u00eb vler\u00eb n\u00eb faz\u00ebn e dyt\u00eb), at\u00ebher\u00eb ai i bashkangjit premtimit t\u00eb tij vler\u00ebn e pranuar dhe numrin e votimit n\u00eb t\u00eb cilin ka marr\u00eb pjes\u00eb.<\/li>\n<li>N\u00eb p\u00ebrndryshe, n\u00ebse acceptor tashm\u00eb di p\u00ebr nj\u00eb votim me num\u00ebr m\u00eb t\u00eb madh, ai mund ta injoroj\u00eb thjesht faz\u00ebn e p\u00ebrgatitjes dhe t\u00eb mos i p\u00ebrgjigjet liderit.<\/li>\n<\/ul>\n<\/li>\n<li><b>Faza 2a: Prano<\/b>. Lideri duhet t\u00eb pres\u00eb p\u00ebrgjigjen nga kvorumi (shumica e nyjave n\u00eb sistem) dhe, n\u00ebse numri i nevojsh\u00ebm i p\u00ebrgjigjeve \u00ebsht\u00eb marr\u00eb, ai ka dy mund\u00ebsi zhvillimi: \n<ul>\n<li>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 acceptor&#8217;\u043e\u0432 \u043f\u0440\u0438\u0441\u043b\u0430\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043d\u0438 \u0443\u0436\u0435 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b\u0438. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043b\u0438\u0434\u0435\u0440 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u043c\u0430\u043ac\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u043d\u043e\u043c\u0435\u0440\u043e\u043c. \u041d\u0430\u0437\u043e\u0432\u0435\u043c \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 x, \u0438 \u0440\u0430\u0441\u0441\u044b\u043b\u0430\u0435\u0442 \u0432\u0441\u0435\u043c \u0443\u0437\u043b\u0430\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0432\u0438\u0434\u0430: \u00abAccept (n, x)\u00bb, \u0433\u0434\u0435 \u043f\u0435\u0440\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u2013 \u043d\u043e\u043c\u0435\u0440 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0437 \u0441\u0432\u043e\u0435\u0433\u043e \u0436\u0435 \u0448\u0430\u0433\u0430 Propose, \u0430 \u0432\u0442\u043e\u0440\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u2013 \u0442\u043e \u0440\u0430\u0434\u0438 \u0447\u0435\u0433\u043e \u0432\u0441\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u043b\u0438\u0441\u044c, \u0442.\u0435. \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0435, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0433\u043e\u043b\u043e\u0441\u0443\u0435\u043c.<\/li>\n<li>\u0415\u0441\u043b\u0438 \u043d\u0438\u043a\u0442\u043e \u0438\u0437 acceptor&#8217;\u043e\u0432 \u043d\u0435 \u043f\u0440\u0438\u0441\u043b\u0430\u043b \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u043d\u0438 \u043f\u043e\u043e\u0431\u0435\u0449\u0430\u043b\u0438 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u0442\u044c \u0432 \u044d\u0442\u043e\u043c \u0440\u0430\u0443\u043d\u0434\u0435, \u043b\u0438\u0434\u0435\u0440 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u0442\u044c \u0438\u043c \u043f\u0440\u043e\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u0442\u044c \u0437\u0430 \u0441\u0432\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0440\u0430\u0434\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043e\u043d \u0432\u043e\u043e\u0431\u0449\u0435 \u0441\u0442\u0430\u043b \u043b\u0438\u0434\u0435\u0440\u043e\u043c. \u041d\u0430\u0437\u043e\u0432\u0435\u043c \u0435\u0433\u043e y. \u041e\u043d \u0440\u0430\u0441\u0441\u044b\u043b\u0430\u0435\u0442 \u0432\u0441\u0435\u043c \u0443\u0437\u043b\u0430\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0432\u0438\u0434\u0430: \u00abAccept (n, y)\u00bb, \u043f\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0438 \u0441 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u043c \u0438\u0441\u0445\u043e\u0434\u043e\u043c.<\/li>\n<\/ul>\n<\/li>\n<li><b>Faza 2b: Pranuar<\/b>. \u0414\u0430\u043b\u0435\u0435, \u0443\u0437\u043b\u044b-acceptor&#8217;\u044b, \u043f\u0440\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u00abAccept(&#8230;)\u00bb, \u043e\u0442 \u043b\u0438\u0434\u0435\u0440\u0430 \u0441\u043e\u0433\u043b\u0430\u0448\u0430\u044e\u0442\u0441\u044f \u0441 \u043d\u0438\u043c (\u0440\u0430\u0441\u0441\u044b\u043b\u0430\u044e\u0442 \u0432\u0441\u0435\u043c \u0443\u0437\u043b\u0430\u043c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435, \u0447\u0442\u043e \u043e\u043d\u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u044b \u0441 \u043d\u043e\u0432\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c) \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u043d\u0435 \u043f\u043e\u043e\u0431\u0435\u0449\u0430\u043b\u0438 \u043a\u0430\u043a\u043e\u043c\u0443-\u0442\u043e (\u0434\u0440\u0443\u0433\u043e\u043c\u0443) \u043b\u0438\u0434\u0435\u0440\u0443 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c \u0440\u0430\u0443\u043d\u0434\u0430 <b>n&#8217; &gt; n<\/b>, p\u00ebrndryshe ata injorojn\u00eb k\u00ebrkes\u00ebn p\u00ebr konfirmim.\n<p>N\u00ebse udh\u00ebheq\u00ebsi merr miratimin e shumic\u00ebs s\u00eb nyjeve dhe t\u00eb gjitha ata e konfirmojn\u00eb vler\u00ebn e re, at\u00ebher\u00eb vlera e re konsiderohet e pranuar. Hurra! N\u00ebse shumica nuk arrihet ose ka nyje q\u00eb refuzojn\u00eb t\u00eb pranojn\u00eb vler\u00ebn e re, gjith\u00e7ka fillon nga e para.<\/li>\n<\/ol>\n<p>\nK\u00ebshtu funksionon algoritmi Paxos. \u00c7do nj\u00ebri prej k\u00ebtyre fazave ka shum\u00eb nuanca, ne n\u00eb fakt nuk e diskutuam asnj\u00ebher\u00eb llojet e ndryshme t\u00eb d\u00ebshtimeve, problemet me lider\u00ebt e shumt\u00eb dhe shum\u00eb m\u00eb tep\u00ebr, por q\u00ebllimi i k\u00ebtij artikulli \u00ebsht\u00eb thjesht p\u00ebr t\u00eb prezantuar lexuesit me bot\u00ebn e llogaritjeve t\u00eb shp\u00ebrndara n\u00eb nj\u00eb nivel m\u00eb t\u00eb lart\u00eb.<\/p>\n<p>Duhet gjithashtu t\u00eb theksohet se Paxos nuk \u00ebsht\u00eb i vetmi n\u00eb llojin e tij, ka edhe algoritme t\u00eb tjera, p\u00ebr shembull, <noindex><a rel=\"nofollow\" href=\"https:\/\/raft.github.io\/\">Raft<\/a><\/noindex>, por kjo \u00ebsht\u00eb nj\u00eb tem\u00eb p\u00ebr nj\u00eb artikull tjet\u00ebr.<\/p>\n<h2>Lidhjet p\u00ebr materialet p\u00ebr studim t\u00eb m\u00ebtejsh\u00ebm<\/h2>\n<p>\nNiveli \"fillestar\":<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/s\/story\/lets-take-a-crack-at-understanding-distributed-consensus-dad23d0dc95\">Si funksionon konsensusi i shp\u00ebrndar\u00eb?<\/a><\/noindex>, Preethi Kasireddy, artikull n\u00eb blog n\u00eb Medium<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@nevverlander\/paxos-made-simple-for-real-aa221be7d91b\">Paxos e b\u00ebr\u00eb e thjesht\u00eb. N\u00eb t\u00eb v\u00ebrtet\u00eb<\/a><\/noindex>, Adi Kancherla, artikull n\u00eb blog n\u00eb Medium<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/ittaiab.github.io\/\">Mendime decentralizuese<\/a><\/noindex>, Ittai Abraham, blog<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/ittaiab.github.io\/2019-06-01-2019-5-31-models\/\">Sinkronizimi, Asinkronizimi dhe Sinkronizimi i pjessh\u00ebm<\/a><\/noindex>, Ittai Abraham, artikull n\u00eb blog<\/li>\n<\/ul>\n<p>\nNiveli \"Leslie Lamport\":<\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/groups.csail.mit.edu\/tds\/papers\/Lynch\/jacm85.pdf\">Pap\u00ebrfillshm\u00ebria e konsensusit t\u00eb shp\u00ebrndar\u00eb me nj\u00eb proces t\u00eb prishur (pamund\u00ebsia FLP)<\/a><\/noindex>, Fischer, Lynch dhe Paterson, punim k\u00ebrkimor, 1985<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/lamport.azurewebsites.net\/pubs\/lamport-paxos.pdf\">Parlamenti i Pjes\u00ebs s\u00eb Koh\u00ebs<\/a><\/noindex>, Leslie Lamport, punim k\u00ebrkimor, 1998<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/lamport.azurewebsites.net\/pubs\/paxos-simple.pdf\">Paxos e b\u00ebr\u00eb e thjesht\u00eb<\/a><\/noindex>, Leslie Lamport, punim k\u00ebrkimor, 2001<\/li>\n<\/ul>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/dodopizzaio\/blog\/463469\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418\u0442\u0430\u043a, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c. \u0412 \u043a\u043e\u043c\u043d\u0430\u0442\u0435 \u0437\u0430\u043f\u0435\u0440\u0442\u044b 5 \u043a\u043e\u0442\u043e\u0432, \u0438 \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0439\u0442\u0438 \u0440\u0430\u0437\u0431\u0443\u0434\u0438\u0442\u044c \u0445\u043e\u0437\u044f\u0438\u043d\u0430 \u0438\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u0441\u0435\u043c \u0432\u043c\u0435\u0441\u0442\u0435 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u043e\u0431 \u044d\u0442\u043e\u043c, \u0432\u0435\u0434\u044c \u0434\u0432\u0435\u0440\u044c \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043f\u044f\u0442\u0435\u0440\u043e\u043c \u043d\u0430\u0432\u0430\u043b\u0438\u0432\u0448\u0438\u0441\u044c \u043d\u0430 \u043d\u0435\u0451. \u0415\u0441\u043b\u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u0442\u043e\u0432 \u2013 \u043a\u043e\u0442 \u0428\u0440\u0451\u0434\u0438\u043d\u0433\u0435\u0440\u0430, \u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u0442\u044b \u043d\u0435 \u0437\u043d\u0430\u044e\u0442 \u043e \u0435\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0438, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441: \u00ab\u041a\u0430\u043a \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c?\u00bb \u0412 \u044d\u0442\u043e\u0439 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28009,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37335","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=\"\u0418\u0442\u0430\u043a, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c. \u0412 \u043a\u043e\u043c\u043d\u0430\u0442\u0435 \u0437\u0430\u043f\u0435\u0440\u0442\u044b 5 \u043a\u043e\u0442\u043e\u0432, \u0438 \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0439\u0442\u0438 \u0440\u0430\u0437\u0431\u0443\u0434\u0438\u0442\u044c \u0445\u043e\u0437\u044f\u0438\u043d\u0430 \u0438\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u0441\u0435\u043c \u0432\u043c\u0435\u0441\u0442\u0435 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u043e\u0431 \u044d\u0442\u043e\u043c, \u0432\u0435\u0434\u044c \u0434\u0432\u0435\u0440\u044c \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043f\u044f\u0442\u0435\u0440\u043e\u043c \u043d\u0430\u0432\u0430\u043b\u0438\u0432\u0448\u0438\u0441\u044c \u043d\u0430 \u043d\u0435\u0451. \u0415\u0441\u043b\u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u0442\u043e\u0432 \u2013 \u043a\u043e\u0442 \u0428\u0440\u0451\u0434\u0438\u043d\u0433\u0435\u0440\u0430, \u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u0442\u044b \u043d\u0435 \u0437\u043d\u0430\u044e\u0442 \u043e \u0435\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0438, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441: \u00ab\u041a\u0430\u043a \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c?\u00bb \u0412 \u044d\u0442\u043e\u0439\" \/>\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\/kot-shryodingera-bez-korobki-problema-konsensusa-v-raspredelyonnyh-sistemah\" \/>\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\udd47\u041a\u043e\u0442 \u0428\u0440\u0451\u0434\u0438\u043d\u0433\u0435\u0440\u0430 \u0431\u0435\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438: \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043a\u043e\u043d\u0441\u0435\u043d\u0441\u0443\u0441\u0430 \u0432 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418\u0442\u0430\u043a, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c. \u0412 \u043a\u043e\u043c\u043d\u0430\u0442\u0435 \u0437\u0430\u043f\u0435\u0440\u0442\u044b 5 \u043a\u043e\u0442\u043e\u0432, \u0438 \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0439\u0442\u0438 \u0440\u0430\u0437\u0431\u0443\u0434\u0438\u0442\u044c \u0445\u043e\u0437\u044f\u0438\u043d\u0430 \u0438\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u0441\u0435\u043c \u0432\u043c\u0435\u0441\u0442\u0435 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u043e\u0431 \u044d\u0442\u043e\u043c, \u0432\u0435\u0434\u044c \u0434\u0432\u0435\u0440\u044c \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043f\u044f\u0442\u0435\u0440\u043e\u043c \u043d\u0430\u0432\u0430\u043b\u0438\u0432\u0448\u0438\u0441\u044c \u043d\u0430 \u043d\u0435\u0451. \u0415\u0441\u043b\u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u0442\u043e\u0432 \u2013 \u043a\u043e\u0442 \u0428\u0440\u0451\u0434\u0438\u043d\u0433\u0435\u0440\u0430, \u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u0442\u044b \u043d\u0435 \u0437\u043d\u0430\u044e\u0442 \u043e \u0435\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0438, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441: \u00ab\u041a\u0430\u043a \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c?\u00bb \u0412 \u044d\u0442\u043e\u0439\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kot-shryodingera-bez-korobki-problema-konsensusa-v-raspredelyonnyh-sistemah\" \/>\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-31T19:17:01+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:17:01+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\udd47Mace e Schr\u00f6dinger-it pa kuti: problemi i konsensusit n\u00eb sistemet e shp\u00ebrndara | ProHoster","description":"Pra, imagjinoni. N\u00eb nj\u00eb dhom\u00eb jan\u00eb t\u00eb mbyllur 5 mace, dhe p\u00ebr t\u00eb zgjuar pronarin, ata duhet t\u00eb bijn\u00eb dakord midis tyre, sepse dera mund t\u00eb hapet vet\u00ebm kur t\u00eb pes\u00eb shtyhen s\u00eb bashku. N\u00ebse nj\u00eb nga macet \u00ebsht\u00eb macja e Schr\u00f6dinger-it, dhe macet e tjera nuk e din\u00eb vendimin e tij, lind pyetja: \"Si mund ta b\u00ebjn\u00eb k\u00ebt\u00eb?\" N\u00eb k\u00ebt\u00eb","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kot-shryodingera-bez-korobki-problema-konsensusa-v-raspredelyonnyh-sistemah","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\udd47\u041a\u043e\u0442 \u0428\u0440\u0451\u0434\u0438\u043d\u0433\u0435\u0440\u0430 \u0431\u0435\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438: \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043a\u043e\u043d\u0441\u0435\u043d\u0441\u0443\u0441\u0430 \u0432 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 | ProHoster","og:description":"\u0418\u0442\u0430\u043a, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c. \u0412 \u043a\u043e\u043c\u043d\u0430\u0442\u0435 \u0437\u0430\u043f\u0435\u0440\u0442\u044b 5 \u043a\u043e\u0442\u043e\u0432, \u0438 \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0439\u0442\u0438 \u0440\u0430\u0437\u0431\u0443\u0434\u0438\u0442\u044c \u0445\u043e\u0437\u044f\u0438\u043d\u0430 \u0438\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u0441\u0435\u043c \u0432\u043c\u0435\u0441\u0442\u0435 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u043e\u0431 \u044d\u0442\u043e\u043c, \u0432\u0435\u0434\u044c \u0434\u0432\u0435\u0440\u044c \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043f\u044f\u0442\u0435\u0440\u043e\u043c \u043d\u0430\u0432\u0430\u043b\u0438\u0432\u0448\u0438\u0441\u044c \u043d\u0430 \u043d\u0435\u0451. \u0415\u0441\u043b\u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u0442\u043e\u0432 \u2013 \u043a\u043e\u0442 \u0428\u0440\u0451\u0434\u0438\u043d\u0433\u0435\u0440\u0430, \u0430 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u0442\u044b \u043d\u0435 \u0437\u043d\u0430\u044e\u0442 \u043e \u0435\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0438, \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441: \u00ab\u041a\u0430\u043a \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c?\u00bb \u0412 \u044d\u0442\u043e\u0439","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kot-shryodingera-bez-korobki-problema-konsensusa-v-raspredelyonnyh-sistemah","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-31T19:17:01+00:00","article:modified_time":"2019-10-31T19:17:01+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37335","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-23 17:20:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:28:27","updated":"2026-01-23 17:20: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\/37335","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=37335"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/37335\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/28009"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=37335"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=37335"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=37335"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}