Istio circuit Breaker: curyaaminta weelasha khaldan

Fasaxyadii waa dhamaaday waxaana ku soo laabanay boostayadii labaad ee taxanaha Adeegga Istio.

Istio circuit Breaker: curyaaminta weelasha khaldan

Mawduuca maanta waa wareegtada wareegga, oo loo tarjumay injineernimada korantada ee Ruushka macnaheedu waa "wareega wareegga", luqadda caadiga ah - "circuit breaker". Kaliya gudaha Istio mashiinkani kama gooyo wareegga gaaban ama culeyska badan, laakiin weelasha cilladaysan.

Sida ay tani u shaqaynayso si fiican

Marka adeegaha yar yar ay maamusho Kubernetes, tusaale ahaan gudaha madal OpenShift, waxay si toos ah kor iyo hoos ugu kiciyaan iyadoo ku xiran culeyska. Sababtoo ah adeeg-yaraha ayaa ku dhex shaqeeya bacaha, waxaa jiri kara marar badan oo adeeg-yar oo weel ku jira hal dhibic, Kubernetes ayaa marin doona codsiyada iyo culeyska culeyska dhexdooda. Iyo - ugu fiican - waxaas oo dhan waa inay si fiican u shaqeeyaan.

Waxaan xasuusannahay in adeegya-yar-yarku ay yihiin kuwo yaryar oo aan caadi ahayn. Ephemerality, oo halkan ka dhigan tahay fududaynta muuqaalka iyo luminta, badanaa waa la dhayalsadaa. Dhalashada iyo dhimashada tusaale kale oo ah microservice-ka ku jira boodhka ayaa ah waxyaabo la filayo, OpenShift iyo Kubernetes waxay si fiican u qabtaan tan, wax walbana si fiican ayey u shaqeeyaan - laakiin mar kale aragti ahaan.

Sida ay runtii u shaqeyso

Hadda qiyaas in tusaale gaar ah oo ah adeeg-yaraha, taas oo ah, weel, uu noqday mid aan la isticmaali karin: ama kama jawaabin (khalad 503), ama, waxa ka sii xun, waxay u jawaabtaa, laakiin si tartiib tartiib ah. Si kale haddii loo dhigo, way dhalaalaysaa ama kama jawaabto codsiyada, laakiin si toos ah loogama saaro barkadda. Maxaa la gudboon kiiskan? Si aad dib isugu daydo? Miyaan ka saaraa nidaamka darida? Oo maxay macnaheedu tahay "aad u gaabis ah" - immisa ayaa ku jira tirooyinka, yaase go'aaminaya iyaga? Ma laga yaabaa inaad siiso nasasho oo isku day mar kale hadhow? Hadday haa tahay, intee ka dib?

Waa maxay Pool Ejection ee Istio

Oo halkan Istio waxay la timid samatabbixinta mashiinnada ilaalinta wareegga wareegga, kuwaas oo si ku-meel-gaar ah uga saaraya weelasha cilladaysan barkadda kheyraadka ee marin-u-socodka iyo dheellitirka culeyska, iyaga oo fulinaya nidaamka Ka-saarista barkadda.

Isticmaalka istiraatiijiyad ogaansho ka baxsan, Istio waxay ogaataa qaloocayada korka ah ee ka maqan khadka wuxuuna ka saarayaa barkadda kheyraadka waqti go'an oo la sii go'aamiyay, oo loo yaqaan daaqada hurdada.

Si loo tuso sida tani uga shaqeyso Kubernetes ee ku taal madal OpenShift, aan ku bilowno sawir-qaade adeeg-yar oo caadi ah oo shaqeeya tusaale ahaan kaydka Soosaaraha Koofiyada Cas. Halkan waxaan ku haynaa laba qaybood, v1 iyo v2, mid kastaa wuxuu wadaa hal weel. Marka xeerarka dariiqa Istio aan la isticmaalin, Kubernetes waxa ay u dhigantaa si siman oo isku dheeli tiran oo wareeg ah:

Istio circuit Breaker: curyaaminta weelasha khaldan

Isu diyaarinta shil

Kahor intaadan samaynin Pool Ejection, waxaad u baahan tahay inaad abuurto xeerka jihaynta Istio. Aynu nidhaahno waxaan rabnaa inaan u qaybinno codsiyada inta u dhaxaysa galalka 50/50. Intaa waxaa dheer, waxaan ka kordhin doonaa tirada v2 weelka hal ilaa laba, sida tan:

oc scale deployment recommendation-v2 --replicas=2 -n tutorial

Hadda waxaan dejinay qaanuun waddo-marineed si taraafikada loogu qaybiyo inta u dhaxaysa boodhka ee saamiga 50/50.

Istio circuit Breaker: curyaaminta weelasha khaldan
Waa kuwan sida ay u egtahay natiijada xeerkan:

Istio circuit Breaker: curyaaminta weelasha khaldan
Waxaad qalad ka heli kartaa xaqiiqda ah in shaashaddani aysan ahayn 50/50, laakiin 14: 9, laakiin waqti ka dib xaaladdu way fiicnaan doontaa.

Samaynta cilad

Hadda aynu gabno mid ka mid ah labada weel ee v2 si aynu u helno hal weel v1 caafimaad qaba, hal weel v2 caafimaad qaba iyo hal weel v2 khaldan:

Istio circuit Breaker: curyaaminta weelasha khaldan

Hagaajinta cilada

Markaa, waxaanu haynaa weel ciladaysan, waxaana la gaadhay wakhtigii barkadda laga saari lahaa. Isticmaalka habayn aad u fudud, waxaanu ka saari doonaa weelkan fashilmay qorshe kasta oo hagid ah muddo 15 ilbiriqsi ah iyadoo la rajaynayo inay ku soo noqoto xaalad caafimaad qabta (ama dib u bilowdo ama soo celiso waxqabadka). Tani waa sida qaabkani u eg yahay iyo natiijada shaqadeeda:

Istio circuit Breaker: curyaaminta weelasha khaldan
Istio circuit Breaker: curyaaminta weelasha khaldan
Sida aad arki karto, weelka v2 ee fashilmay looma isticmaalo codsiyada jihaynta sababtoo ah waa laga saaray barkada. Laakin 15 ilbiriqsi kadib waxay si toos ah ugu soo laaban doontaa barkada. Dhab ahaantii, waxaanu tusnay sida ay u shaqeyso Pool Ejection.

Aan bilowno dhismaha dhismaha

Pool Ejection, oo ay weheliso awoodaha la socodka Istio, waxay kuu ogolaanaysaa inaad bilowdo dhisidda qaab si toos ah loogu beddelo weelasha khaldan si loo yareeyo, haddii aan la baabi'in, wakhtiga hoos u dhaca iyo guuldarrada.
 
NASA waxay leedahay hal hal-ku-dheg dheer - Guul-darradu maaha ikhtiyaar, qoraaga kaas oo loo arko inuu yahay maamulaha duulimaadka. Gene Kranz. Waxaa loo turjumi karaa Ruushka sida "Guul-darradu maaha ikhtiyaar," macnaha halkan waa in wax walba la samayn karo si ay u shaqeeyaan haddii aad haysato rabitaan kugu filan. Si kastaba ha noqotee, nolosha dhabta ah, guul-darrooyinka kaliya ma dhacaan, waa lama huraan, meel kasta iyo wax kasta. Iyo sida loola macaamilo iyaga haddii ay dhacdo adeeg-yaraha? Fikradeena, way ka fiican tahay inaadan ku tiirsanayn rabitaan, laakiin awoodaha weelasha, Kubureteska, Koofiyada Cas OpenShiftiyo Istio.

Istio, sida aan kor ku soo qornay, waxay fulisaa fikradda wareegyada wareegga wareegga, taas oo si fiican isu caddeysay adduunka jireed. Iyo sida jebiyaasha korantada u damiyo qayb dhibaato oo wareeg ah, Istio's software Circuit Breaker wuxuu furayaa xidhiidhka ka dhexeeya qulqulka codsiyada iyo weelka dhibka marka ay wax ka khaldan yihiin barta dhamaadka, tusaale ahaan, marka serverku burburo ama bilaabay gaabis.

Intaa waxaa dheer, in kiiska labaad waxaa jira dhibaatooyin badan oo kaliya, tan iyo bireega hal weel kaliya ma keeno dib u dhac ku yimaada adeegyada helitaanka iyo, natiijada, hoos u dhigista waxqabadka nidaamka guud ahaan, laakiin sidoo kale waxay dhalinaysaa soo noqnoqda. codsanaya adeeg aayar u socda, kaas oo ka sii daraya xaalada.

Wareegta jebinta aragti ahaan

Wareegta jebinta waa wakiil xakameynaya qulqulka codsiyada ee barta dhamaadka. Marka bartani ay istaagto shaqada ama, iyadoo ku xiran goobaha la cayimay, bilaabay inuu hoos u dhigo, wakiilku wuxuu jebiyaa xiriirka weelka. Gaadiidka ayaa markaa loo weecinayaa weel kale, taasoo ay ugu wacan tahay dheellitirnaanta rarka. Xidhiidhku wuxuu ahaanayaa mid furan daaqad hurdo la siiyay, dheh laba daqiiqo, ka dibna waxaa loo arkaa mid furan. Isku dayga lagu dirayo codsiga soo socda ayaa go'aaminaya xaalada dheeraadka ah ee xidhiidhka. Haddii wax walba ay ku OK yihiin adeegga, xiriirku wuxuu ku soo noqdaa xaaladda shaqada oo haddana wuu xiran yahay. Haddii ay wali wax ka khaldan yihiin adeega, xidhiidhku waa go'ay oo daaqada hurdadu dib ayaa loo furay. Waa kan sida jaantuska gobolka Breaker la fududeeyay uu u eg yahay:

Istio circuit Breaker: curyaaminta weelasha khaldan
Waxaa muhiim ah in halkan lagu ogaado in waxaas oo dhami ay ku dhacaan heerka, si loo hadlo, qaab-dhismeedka nidaamka. Sidaa darteed, mar ka mid ah waa inaad barataa codsiyadaada si ay ula shaqeeyaan Wareegga Wareegga, tusaale ahaan adoo siinaya qiime aan caadi ahayn oo jawaab celin ah ama, haddii ay suurtagal tahay, iska indhatiraya jiritaanka adeegga. Qaab madax weyn ayaa tan loo isticmaalaa, laakiin way ka baxsan tahay xadka qodobkan.

Wareegta jebinta ficil ahaan

Tusaale ahaan, waxaanu ku socodsiin doonaa laba nooc oo ka mid ah adeeg-yarahayada talo-bixinta OpenShift. Nooca 1 si fiican ayuu u shaqeyn doonaa, laakiin v2 waxaan ku dhisi doonaa dib u dhac si aan uga dhigno hoos u dhaca ku yimaada serverka. Si aad u aragto natiijooyinka, isticmaal qalabka go'doomin:

siege -r 2 -c 20 -v customer-tutorial.$(minishift ip).nip.io

Istio circuit Breaker: curyaaminta weelasha khaldan
Wax walba waxay u muuqdaan inay shaqeeyaan, laakiin waa maxay qiimaha? Jaleecada hore, waxaan heysanaa 100% helitaanka, laakiin si dhow u fiirso - muddada macaamil ganacsi ee ugu badan waa ilaa 12 ilbiriqsi. Tani waxay caddahay inay tahay cidhiidhi waxayna u baahan tahay in la balaadhiyo.

Si tan loo sameeyo, waxaan isticmaali doonaa Istio si aan u baabi'iyo wicitaanada si loo yareeyo weelasha. Tani waa sida qaabka u dhigma uu u eg yahay iyadoo la isticmaalayo Circuit Breaker:

Istio circuit Breaker: curyaaminta weelasha khaldan
Xariiqda ugu dambeysa ee leh calaamada cabbirka httpMaxRequestsPerConnection waa in xiriirka la gooyaa marka la isku dayayo in la abuuro mid kale - mid labaad - xiriir marka lagu daro midka jira. Maaddaama weelkeennu uu u dhigmayo adeeg gaabis ah, xaaladahan oo kale ayaa soo bixi doona xilliyo, ka dibna Istio waxay soo celin doontaa qalad 503 ah, laakiin tani waa waxa hareeraynta muujin doonta:

Istio circuit Breaker: curyaaminta weelasha khaldan

Hagaag, waxaan haynaa Wareegtada, maxaa xiga?

Markaa, waxaanu hirgalinay xidhidh toos ah anagoo aan taaban koodhka isha ee adeegyada laftooda gabi ahaanba. Isticmaalka Wareegtada Wareegga iyo habka ka saarista barkada ee kor lagu sharaxay, waxaan ka saari karnaa weelasha biriiga barkada kheyraadka ilaa ay caadi ku soo noqdaan, waxaanan hubin karnaa xaaladooda inta jeer ee la cayimay - tusaale ahaan, tani waa laba daqiiqo (beegyada daaqada hurdada).

Ogsoonow in awooda codsigu kaga jawaabo khaladka 503 ay wali ku jirto heerka koodhka isha. Waxaa jira xeelado badan oo loo adeegsado isticmaalka Wareegga Wareegga, iyadoo ku xiran xaaladda.

Qoraalka xiga: Waxaan ka hadli doonaa raadinta iyo la socodka taas oo mar hore lagu dhex dhisay ama si fudud loogu daray Istio, iyo sidoo kale sida ulakac ah loogu soo bandhigo khaladaadka nidaamka.

Source: www.habr.com

Add a comment