{"id":54987,"date":"2020-01-09T00:00:00","date_gmt":"2020-01-08T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/istio-circuit-breaker-otklyuchaem-neispravnye-kontejnery"},"modified":"2020-02-18T14:03:03","modified_gmt":"2020-02-18T11:03:03","slug":"istio-circuit-breaker-otklyuchaem-neispravnye-kontejnery","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/istio-circuit-breaker-otklyuchaem-neispravnye-kontejnery","title":{"rendered":"Ishte Rrethit t\u00eb Ritmit: \u00e7aktivizimi i kontejner\u00ebve t\u00eb d\u00ebshtuar","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Festat kan\u00eb p\u00ebrfunduar, dhe ne kthehemi me postimin ton\u00eb t\u00eb dyt\u00eb nga seria mbi Istio Service Mesh.<\/p>\n<p><img decoding=\"async\" alt=\"Ishte Rrethit t\u00eb Ritmit: \u00e7aktivizimi i kontejner\u00ebve t\u00eb d\u00ebshtuar\" src=\"\/wp-content\/uploads\/2020\/01\/6d65a62468d0f17570cb8b92e03ceb71.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSot tema \u00ebsht\u00eb \u2013 Circuit Breaker, q\u00eb n\u00eb p\u00ebrkthimin n\u00eb shqip do t\u00eb thot\u00eb \u00abprer\u00ebs automatik\u00bb, e njohur ndryshe si \u00abmbrojt\u00ebs automatik\u00bb. N\u00eb Istio, ky prer\u00ebs nuk ndalon nj\u00eb qark t\u00eb shkurt\u00ebr ose t\u00eb ngarkuar, por ndalon kontejner\u00ebt e defektuar.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Si duhet t\u00eb funksionoj\u00eb idealisht<\/h3>\n<p>\nKur mikrosh\u00ebrbimet menaxhohen nga Kubernetes, p\u00ebr shembull, brenda platform\u00ebs OpenShift, ato automatikisht shkall\u00ebzohen lart e posht\u00eb n\u00eb var\u00ebsi t\u00eb ngarkes\u00ebs. Duke qen\u00eb se mikrosh\u00ebrbimet funksionojn\u00eb n\u00eb pod-e, n\u00eb nj\u00eb pik\u00eb finale mund t\u00eb ket\u00eb disa instanca t\u00eb kontejnerizuar t\u00eb mikrosh\u00ebrbimit, dhe Kubernetes do t\u00eb rruazoj\u00eb k\u00ebrkesat dhe balancoj\u00eb ngarkes\u00ebn mes tyre. Dhe \u2013 n\u00eb m\u00ebnyr\u00eb ideale \u2013 t\u00eb gjitha k\u00ebto should t\u00eb funksionojn\u00eb shk\u00eblqyesh\u00ebm.<\/p>\n<p>Ne kujtojm\u00eb se mikrosh\u00ebrbimet jan\u00eb t\u00eb vogla dhe efemere. Efem\u00ebrsia, q\u00eb k\u00ebtu do t\u00eb thot\u00eb thjesht\u00ebsin\u00eb e lindjes dhe zhdukjes, shpesh n\u00ebnvler\u00ebsohet. Lindja dhe vdekja e nj\u00eb instance tjet\u00ebr t\u00eb mikrosh\u00ebrbimit n\u00eb pod \u00ebsht\u00eb nj\u00eb gj\u00eb mjaft e pritshme, OpenShift dhe Kubernetes e menaxhojn\u00eb mir\u00eb k\u00ebt\u00eb, dhe gjith\u00e7ka funksionon mrekullisht \u2013 por p\u00ebrs\u00ebri n\u00eb teori.<\/p>\n<h3>Si funksionon n\u00eb t\u00eb v\u00ebrtet\u00eb<\/h3>\n<p>\nTani imagjinoni se nj\u00eb instanc\u00eb e caktuar e mikrosh\u00ebrbimit, dmth kontejneri, ka dal\u00eb nga funksioni: ose nuk p\u00ebrgjigjet (gabimi 503), ose \u2013 q\u00eb \u00ebsht\u00eb m\u00eb e pak\u00ebndshme \u2013 reagon, por shum\u00eb ngadal\u00eb. Me fjal\u00eb t\u00eb tjera, ai \u00ebsht\u00eb duke p\u00ebsuar ngadal\u00ebsim ose nuk p\u00ebrgjigjet n\u00eb k\u00ebrkesa, por nga pool-i ai nuk hiqet automatikisht. \u00c7far\u00eb duhet t\u00eb b\u00ebjm\u00eb n\u00eb k\u00ebt\u00eb rast? T\u00eb p\u00ebrs\u00ebrisim p\u00ebrpjekjen? Ta heqim nga skema e rruazimit? Dhe \u00e7far\u00eb do t\u00eb thot\u00eb \u00abshum\u00eb ngadal\u00eb\u00bb \u2013 sa \u00ebsht\u00eb kjo n\u00eb numra, dhe kush i p\u00ebrcakton ato? Ndoshta thjesht t\u2019i japim nj\u00eb pauz\u00eb dhe t\u00eb provojm\u00eb m\u00eb von\u00eb? N\u00ebse po, sa von\u00eb?<\/p>\n<h3>\u00c7far\u00eb \u00ebsht\u00eb Pool Ejection n\u00eb Istio<\/h3>\n<p>\nDhe k\u00ebtu vjen n\u00eb ndihm\u00eb Istio me automatet e tij t\u00eb mbrojtjes Circuit Breaker, q\u00eb p\u00ebrkoh\u00ebsisht heqin kontejner\u00ebt e defektuar nga pool-i i burimeve t\u00eb rruazimit dhe balancimit t\u00eb ngarkes\u00ebs, duke realizuar procedur\u00ebn e Pool Ejection.<\/p>\n<p>Duke p\u00ebrdorur strategjin\u00eb e zbulimit t\u00eb devijimeve (outlier detection), Istio detecton pod-e t\u00eb k\u00ebqija, q\u00eb dallohet nga grupi p\u00ebrgjithsh\u00ebm, dhe i heq ato nga pool-i i burimeve p\u00ebr nj\u00eb koh\u00eb t\u00eb caktuar, e quajtur \u00abdritarja e gjumit\u00bb (sleep window). <\/p>\n<p>P\u00ebr t\u00eb ilustruar se si funksionon n\u00eb Kubernetes n\u00eb platform\u00ebn OpenShift, le t\u00eb fillojm\u00eb me nj\u00eb t\u00ebrheqje t\u00eb mikrosh\u00ebrbimeve q\u00eb funksionojn\u00eb mir\u00eb nga shembulli n\u00eb depo. <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/redhat-developer-demos\/istio-tutorial\">Demonstrime nga Red Hat Developer<\/a><\/noindex>. K\u00ebtu kemi dy pod\u00eb, v1 dhe v2, n\u00eb secilin prej t\u00eb cil\u00ebve funksionon nj\u00eb kontejner. Kur rregullat e rrug\u00ebs Istio nuk p\u00ebrdoren, Kubernetes n\u00eb m\u00ebnyr\u00eb t\u00eb paracaktuar aplikon nj\u00eb rrug\u00ebzim ciklik t\u00eb balancuar barabart\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"Ishte Rrethit t\u00eb Ritmit: \u00e7aktivizimi i kontejner\u00ebve t\u00eb d\u00ebshtuar\" src=\"\/wp-content\/uploads\/2020\/01\/6bd750250a84fdbd2f3e1fcfe0c2d9fd.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Po p\u00ebrgatitemi p\u00ebr d\u00ebshtimin<\/h3>\n<p>\nPara se t\u00eb b\u00ebjm\u00eb Pool Ejection, duhet t\u00eb krijojm\u00eb nj\u00eb rregull t\u00eb rrug\u00ebs Istio. Supozoni se duam t\u00eb shp\u00ebrndajm\u00eb k\u00ebrkesat midis pod\u00ebve n\u00eb nj\u00eb raport 50\/50. P\u00ebr m\u00eb tep\u00ebr, do t\u00eb rrisim numrin e konteiner\u00ebve v2 nga nj\u00eb n\u00eb dy, k\u00ebshtu:<\/p>\n<pre><code class=\"plaintext\">oc scale deployment recommendation-v2 --replicas=2 -n tutorial\n<\/code><\/pre>\n<p>\nTani vendosim rregullin e rrug\u00ebs p\u00ebr t\u00eb shp\u00ebrndar\u00eb trafikun midis pod\u00ebve n\u00eb nj\u00eb raport 50\/50.<\/p>\n<p><img decoding=\"async\" alt=\"Ishte Rrethit t\u00eb Ritmit: \u00e7aktivizimi i kontejner\u00ebve t\u00eb d\u00ebshtuar\" src=\"\/wp-content\/uploads\/2020\/01\/e40af0e8d94fc5ae0d8dcdd6105d34eb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nJa si duket rezultati i aplikimit t\u00eb k\u00ebtij rregulli:<\/p>\n<p><img decoding=\"async\" alt=\"Ishte Rrethit t\u00eb Ritmit: \u00e7aktivizimi i kontejner\u00ebve t\u00eb d\u00ebshtuar\" src=\"\/wp-content\/uploads\/2020\/01\/70e4a251f33828b4c1ac688921e5545a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nMund t\u00eb argumentoni se n\u00eb k\u00ebt\u00eb ekran nuk \u00ebsht\u00eb 50\/50, por 14:9, por me kalimin e koh\u00ebs situata do t\u00eb rregullohet.<\/p>\n<h3>Po shkaktojm\u00eb d\u00ebshtimin<\/h3>\n<p>\nTani do t\u00eb \u00e7aktivizojm\u00eb nj\u00eb nga dy konteiner\u00ebt v2, n\u00eb m\u00ebnyr\u00eb q\u00eb t\u00eb kemi nj\u00eb kontejner t\u00eb mir\u00eb v1, nj\u00eb kontejner t\u00eb mir\u00eb v2 dhe nj\u00eb kontejner t\u00eb d\u00ebshtuar v2: <\/p>\n<p><img decoding=\"async\" alt=\"Ishte Rrethit t\u00eb Ritmit: \u00e7aktivizimi i kontejner\u00ebve t\u00eb d\u00ebshtuar\" src=\"\/wp-content\/uploads\/2020\/01\/c376ed242d5659c6953e8cd4821222ab.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Po riparojm\u00eb d\u00ebshtimin<\/h3>\n<p>\nPra, kemi nj\u00eb kontejner t\u00eb d\u00ebshtuar, dhe \u00ebsht\u00eb koha p\u00ebr Pool Ejection. Me nj\u00eb konfigurim shum\u00eb t\u00eb thjesht\u00eb, do t\u00eb p\u00ebrjashtojm\u00eb k\u00ebt\u00eb kontejner t\u00eb d\u00ebshtuar nga \u00e7do skem\u00eb rrug\u00ebzimi p\u00ebr 15 sekonda me shpres\u00ebn se ai do t\u00eb rikthehet n\u00eb nj\u00eb gjendje normale (ose do t\u00eb riaktivizohet, ose do t\u00eb rikuperoj\u00eb performanc\u00ebn). K\u00ebtu \u00ebsht\u00eb si duket ky konfigurim dhe rezultatet e tij:<\/p>\n<p><img decoding=\"async\" alt=\"Ishte Rrethit t\u00eb Ritmit: \u00e7aktivizimi i kontejner\u00ebve t\u00eb d\u00ebshtuar\" src=\"\/wp-content\/uploads\/2020\/01\/1f7261c7907d12002249642dbc2be054.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Ishte Rrethit t\u00eb Ritmit: \u00e7aktivizimi i kontejner\u00ebve t\u00eb d\u00ebshtuar\" src=\"\/wp-content\/uploads\/2020\/01\/cb9378b82e533d4b6dd312928294b3a1.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nSi\u00e7 shihet, kontejneri i d\u00ebshtuar v2 nuk p\u00ebrdoret m\u00eb p\u00ebr rrug\u00ebzimin e k\u00ebrkesave, pasi u hoq nga pool. Por pas 15 sekondash ai do t\u00eb rikthehet automatikisht n\u00eb pool. N\u00eb thelb, sapo e tregonim se si funksionon Pool Ejection.<\/p>\n<h3>Po fillojm\u00eb t\u00eb nd\u00ebrtojm\u00eb arkitektur\u00ebn<\/h3>\n<p>\nPool Ejection n\u00eb kombinim me funksionalitetet e monitorimit Istio lejon fillimin e nd\u00ebrtimit t\u00eb nj\u00eb kornize p\u00ebr z\u00ebvend\u00ebsimin automatik t\u00eb konteiner\u00ebve t\u00eb d\u00ebmtuar, p\u00ebr t\u00eb reduktuar, madje edhe p\u00ebr t\u00eb eliminuar, koh\u00ebzgjatjet dhe d\u00ebshtimet.<br \/>\n\u2003<br \/>\nNASA ka nj\u00eb moto t\u00eb njohur \u2013 D\u00ebshtimi Nuk \u00cbsht\u00eb Nj\u00eb Opcioni, q\u00eb mendohet se \u00ebsht\u00eb shkruar nga menaxheri i fluturimeve <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9A%D1%80%D0%B0%D0%BD%D1%86,_%D0%94%D0%B6%D0%B8%D0%BD\">Gene Kranz<\/a><\/noindex>. N\u00eb shqip mund t\u00eb p\u00ebrkthehet si \"D\u00ebshtimi nuk \u00ebsht\u00eb nj\u00eb opsion\", dhe kuptimi k\u00ebtu \u00ebsht\u00eb se gjith\u00e7ka mund t\u00eb funksionoj\u00eb n\u00ebse keni mjaft vullnet. Megjithat\u00eb, n\u00eb jet\u00ebn reale, d\u00ebshtimet nuk ndodhin thjesht; ato jan\u00eb t\u00eb pashmangshme, kudo dhe n\u00eb gjith\u00e7ka. Si t\u00eb p\u00ebrballeni me to n\u00eb rastin e mikrosh\u00ebrbimeve? Sipas mendimit ton\u00eb, m\u00eb mir\u00eb \u00ebsht\u00eb t\u00eb mos mb\u00ebshteteni n\u00eb forc\u00ebn e vullnetit, por n\u00eb mund\u00ebsit\u00eb e konteiner\u00ebve. <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/topics\/kubernetes\/\">Kubernetes<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/products\/openshift\/overview\/\">Red Hat OpenShift<\/a><\/noindex>, dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.redhat.com\/topics\/service-mesh\/\">Istio<\/a><\/noindex>.<\/p>\n<p>Istio, si\u00e7 e p\u00ebrmend\u00ebm m\u00eb sip\u00ebr, implementon nj\u00eb koncept t\u00eb provuar dhe t\u00eb suksessh\u00ebm n\u00eb bot\u00ebn fizike, at\u00eb t\u00eb automatik\u00ebve t\u00eb fikjes. Dhe si nj\u00eb automatik elektrik ndalon nj\u00eb pjes\u00eb problematike t\u00eb zinxhirit, ashtu edhe Circuit Breaker n\u00eb Istio nd\u00ebrpret lidhjen midis rrjedh\u00ebs s\u00eb k\u00ebrkesave dhe konteinerit problematik, kur di\u00e7ka shkon keq me pik\u00ebn p\u00ebrfundimtare, p\u00ebr shembull, kur serveri ka r\u00ebn\u00eb ose ka filluar t\u00eb ngadal\u00ebsohet.<\/p>\n<p>Dhe n\u00eb rastin e dyt\u00eb, problemet jan\u00eb akoma m\u00eb t\u00eb shumta, pasi ngadal\u00ebsimi i nj\u00eb konteineri jo vet\u00ebm q\u00eb shkakton nj\u00eb kaskad\u00eb vonesash n\u00eb sh\u00ebrbimet q\u00eb i drejtohen atij, dhe si pasoj\u00eb, ul rendimentin e sistemit n\u00eb t\u00ebr\u00ebsi, por gjithashtu gjeneron p\u00ebrs\u00ebritje t\u00eb k\u00ebrkesave ndaj nj\u00eb sh\u00ebrbimi q\u00eb tashm\u00eb \u00ebsht\u00eb ngadal\u00ebsuar, gj\u00eb q\u00eb vet\u00ebm e r\u00ebndon situat\u00ebn.<\/p>\n<h3>Circuit Breaker n\u00eb teori<\/h3>\n<p>\nCircuit Breaker \u00ebsht\u00eb nj\u00eb proxy q\u00eb kontrollon rrjedh\u00ebn e k\u00ebrkesave n\u00eb pik\u00ebn p\u00ebrfundimtare. Kur kjo pik\u00eb ndalon s\u00eb punuari ose \u2013 n\u00eb var\u00ebsi t\u00eb cil\u00ebsimeve t\u00eb caktuara \u2013 fillon t\u00eb ngadal\u00ebsohet, proxy nd\u00ebrpret lidhjen me konteinerin. Trafiku pas k\u00ebsaj redirektohet n\u00eb konteiner\u00eb t\u00eb tjer\u00eb, thjesht p\u00ebr shkak t\u00eb balancimit t\u00eb ngarkes\u00ebs. Lidhja mbetet e shk\u00ebputur (open) p\u00ebr nj\u00eb periudh\u00eb t\u00eb caktuar, le t\u00eb say dy minuta, dhe pastaj konsiderohet e gjysm\u00eb-shk\u00ebputur (half-open). P\u00ebrpjekja p\u00ebr t\u00eb d\u00ebrguar k\u00ebrkes\u00ebn e ardhshme p\u00ebrcakton gjendjen e m\u00ebtejshme t\u00eb lidhjes. N\u00ebse gjith\u00e7ka shkon mir\u00eb me sh\u00ebrbimin, lidhja kthehet n\u00eb gjendjen funksionale dhe b\u00ebhet s\u00ebrish e mbyllur (closed). N\u00ebse me sh\u00ebrbimin ka ende di\u00e7ka t\u00eb keqe, lidhja nd\u00ebrpritet s\u00ebrish dhe hapet nj\u00eb tjet\u00ebr periudh\u00eb pritjeje. Kjo \u00ebsht\u00eb si duket nj\u00eb diagram i thjesht\u00eb i ndryshimeve t\u00eb gjendjeve t\u00eb Circuit Breaker:<\/p>\n<p><img decoding=\"async\" alt=\"Ishte Rrethit t\u00eb Ritmit: \u00e7aktivizimi i kontejner\u00ebve t\u00eb d\u00ebshtuar\" src=\"\/wp-content\/uploads\/2020\/01\/7ba3e945451cbcaf797f9706c8dacb3c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n\u00cbsht\u00eb e r\u00ebnd\u00ebsishme t\u00eb theksohet se e gjith\u00eb kjo ndodh n\u00eb nivelin e arhitektures sistemore. Prandaj, n\u00eb nj\u00eb moment, do t'ju duhet t\u00eb m\u00ebsoni aplikacionet tuaja t\u00eb punojn\u00eb me Circuit Breaker, p\u00ebr shembull, duke ofruar nj\u00eb vler\u00eb t\u00eb paracaktuar n\u00eb p\u00ebrgjigje ose, n\u00ebse \u00ebsht\u00eb e mundur, t\u00eb injoroni ekzistenc\u00ebn e sh\u00ebrbimit. P\u00ebr k\u00ebt\u00eb p\u00ebrdoret modeli bulkhead, por ai del jasht\u00eb korniz\u00ebs s\u00eb k\u00ebtij artikulli.<\/p>\n<h3>Circuit Breaker n\u00eb praktik\u00eb<\/h3>\n<p>\nP\u00ebr shembull, ne do t\u00eb nisnim n\u00eb OpenShift dy versione t\u00eb mikrosh\u00ebrbimit ton\u00eb t\u00eb rekomandimeve. Versioni 1 do t\u00eb funksionoj\u00eb normalisht, nd\u00ebrsa n\u00eb v2 ne do t\u00eb integrojm\u00eb nj\u00eb vones\u00eb p\u00ebr t\u00eb imituar ngadal\u00ebsimin n\u00eb server. P\u00ebr t\u00eb par\u00eb rezultatet, p\u00ebrdoret mjeti <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/JoeDog\/siege\">siege<\/a><\/noindex>:<\/p>\n<pre><code class=\"plaintext\">siege -r 2 -c 20 -v customer-tutorial.$(minishift ip).nip.io\n<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Ishte Rrethit t\u00eb Ritmit: \u00e7aktivizimi i kontejner\u00ebve t\u00eb d\u00ebshtuar\" src=\"\/wp-content\/uploads\/2020\/01\/0660814fd5d7ebc9d9a3fa9f95fbae3c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nGjith\u00e7ka duket se funksionon, por me \u00e7mimin e \u00e7far\u00eb? N\u00eb dukje, kemi 100 % disponueshm\u00ebri, por shikoni me kujdes \u2013 maksimalja e koh\u00ebs s\u00eb transaksionit arrin deri n\u00eb 12 sekonda. Kjo \u00ebsht\u00eb nj\u00eb ngushtic\u00eb e dukshme dhe duhet t\u00eb zgjerohet.<\/p>\n<p>P\u00ebr k\u00ebt\u00eb, ne do t\u00eb eliminonim thirrjet ndaj konteiner\u00ebve t\u00eb ngadalt\u00eb me ndihm\u00ebn e Istio. K\u00ebtu \u00ebsht\u00eb si duket konfigurimi p\u00ebrkat\u00ebs duke p\u00ebrdorur Circuit Breaker:<\/p>\n<p><img decoding=\"async\" alt=\"Ishte Rrethit t\u00eb Ritmit: \u00e7aktivizimi i kontejner\u00ebve t\u00eb d\u00ebshtuar\" src=\"\/wp-content\/uploads\/2020\/01\/bb7349d199dad89964d824ae1194c3fc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nRreshti i fundit me parametrin httpMaxRequestsPerConnection sinjalizon se lidhja duhet t\u00eb shp\u00ebrndahen me p\u00ebrpjekjen p\u00ebr t\u00eb krijuar nj\u00eb lidhje t\u00eb re \u2013 t\u00eb dyt\u00eb \u2013 p\u00ebrve\u00e7 asaj ekzistuese. Duke qen\u00eb se kontenieri yn\u00eb imiton nj\u00eb sh\u00ebrbim q\u00eb ngadal\u00ebson, k\u00ebto situata do t\u00eb ndodhin her\u00eb pas here, dhe at\u00ebher\u00eb Istio do t\u00eb kthej\u00eb nj\u00eb gabim 503, nd\u00ebrsa ja \u00e7far\u00eb do t\u00eb tregoj\u00eb siege:<\/p>\n<p><img decoding=\"async\" alt=\"Ishte Rrethit t\u00eb Ritmit: \u00e7aktivizimi i kontejner\u00ebve t\u00eb d\u00ebshtuar\" src=\"\/wp-content\/uploads\/2020\/01\/2bb6f4fb3669bd4ea6214b98bcfa22ac.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3>Mir\u00eb, tani kemi Circuit Breaker, \u00e7far\u00eb ndodh m\u00eb pas?<\/h3>\n<p>\nPra, ne zbatuam shk\u00ebputjen automatike, pa prekur fare kodin burimor t\u00eb sh\u00ebrbimeve. Duke p\u00ebrdorur Circuit Breaker dhe procedur\u00ebn e p\u00ebrshkruar m\u00eb lart Pool Ejection, ne mund t'i largojm\u00eb nga grupi i burimeve kontenier\u00ebt ngadal\u00ebsues deri sa ata t\u00eb rikuperohen, dhe t\u00eb kontrollojm\u00eb cil\u00ebsin\u00eb e tyre me nj\u00eb periudh\u00eb t\u00eb caktuar - n\u00eb shembullin ton\u00eb, kjo \u00ebsht\u00eb dy minuta (parametri sleepWindow).<\/p>\n<p>Vini re se aft\u00ebsia e aplikacionit p\u00ebr t'u p\u00ebrgjigjur ndaj gabimit 503 akoma p\u00ebrcaktohet n\u00eb nivelin e kodit t\u00eb tij burimor. Ekzistojn\u00eb shum\u00eb strategji p\u00ebr pun\u00ebn me Circuit Breaker, t\u00eb cilat zbatohen n\u00eb var\u00ebsi t\u00eb situat\u00ebs.<\/p>\n<p><b>N\u00eb postimin e ardhsh\u00ebm:<\/b> do t\u00eb flasim p\u00ebr gjurmimin dhe monitorimin, t\u00eb cilat jan\u00eb tashm\u00eb t\u00eb integruara ose leht\u00ebsisht t\u00eb shtohen n\u00eb Istio, si dhe se si t\u00eb futim gabime n\u00eb sistem n\u00eb m\u00ebnyr\u00eb t\u00eb q\u00ebllimshme.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/redhatrussia\/blog\/483262\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0430\u0437\u0434\u043d\u0438\u043a\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0438\u0441\u044c, \u0438 \u043c\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u0441 \u043d\u0430\u0448\u0438\u043c \u0432\u0442\u043e\u0440\u044b\u043c \u043f\u043e\u0441\u0442\u043e\u043c \u0438\u0437 \u0441\u0435\u0440\u0438\u0438 \u043f\u043e Istio Service Mesh. \u0421\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u044f\u044f \u0442\u0435\u043c\u0430 \u2013 Circuit Breaker, \u0447\u0442\u043e \u0432 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0435 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u0438\u0439 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u00ab\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u044c\u00bb, \u0432 \u043f\u0440\u043e\u0441\u0442\u043e\u0440\u0435\u0447\u0438\u0438 \u2013 \u00ab\u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u0437\u0430\u0449\u0438\u0442\u044b\u00bb. \u0422\u043e\u043b\u044c\u043a\u043e \u0432 Istio \u044d\u0442\u043e\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043d\u0435 \u043a\u043e\u0440\u043e\u0442\u043d\u0443\u0432\u0448\u0443\u044e \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u0443\u044e \u0446\u0435\u043f\u044c, \u0430 \u043d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b. \u041a\u0430\u043a \u044d\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 \u0438\u0434\u0435\u0430\u043b\u0435 \u041a\u043e\u0433\u0434\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-54987","post","type-post","status-publish","format-standard","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=\"\u041f\u0440\u0430\u0437\u0434\u043d\u0438\u043a\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0438\u0441\u044c, \u0438 \u043c\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u0441 \u043d\u0430\u0448\u0438\u043c \u0432\u0442\u043e\u0440\u044b\u043c \u043f\u043e\u0441\u0442\u043e\u043c \u0438\u0437 \u0441\u0435\u0440\u0438\u0438 \u043f\u043e Istio Service Mesh.\" \/>\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\/istio-circuit-breaker-otklyuchaem-neispravnye-kontejnery\" \/>\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\udd47Istio Circuit Breaker: \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0430\u0437\u0434\u043d\u0438\u043a\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0438\u0441\u044c, \u0438 \u043c\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u0441 \u043d\u0430\u0448\u0438\u043c \u0432\u0442\u043e\u0440\u044b\u043c \u043f\u043e\u0441\u0442\u043e\u043c \u0438\u0437 \u0441\u0435\u0440\u0438\u0438 \u043f\u043e Istio Service Mesh.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/istio-circuit-breaker-otklyuchaem-neispravnye-kontejnery\" \/>\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=\"2020-01-08T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:03+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\udd47Circuit Breaker i Istio: shk\u00ebputja e konteiner\u00ebve t\u00eb defektuar | ProHoster","description":"Festat kan\u00eb p\u00ebrfunduar, dhe ne kthehemi me postimin ton\u00eb t\u00eb dyt\u00eb nga seria mbi Istio Service Mesh.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/istio-circuit-breaker-otklyuchaem-neispravnye-kontejnery","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\udd47Istio Circuit Breaker: \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043d\u0435\u0438\u0441\u043f\u0440\u0430\u0432\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b | ProHoster","og:description":"\u041f\u0440\u0430\u0437\u0434\u043d\u0438\u043a\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0438\u0441\u044c, \u0438 \u043c\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u0441 \u043d\u0430\u0448\u0438\u043c \u0432\u0442\u043e\u0440\u044b\u043c \u043f\u043e\u0441\u0442\u043e\u043c \u0438\u0437 \u0441\u0435\u0440\u0438\u0438 \u043f\u043e Istio Service Mesh.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/istio-circuit-breaker-otklyuchaem-neispravnye-kontejnery","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":"2020-01-08T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:03+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"54987","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-24 13:26:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:54:34","updated":"2026-01-24 13:26: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\/54987","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=54987"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/54987\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=54987"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=54987"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=54987"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}