Ua uma aso malolo ma ua matou toe foi mai ma le matou pou lona lua i le Istio Service Mesh series.
O le autu o aso nei o le Circuit Breaker, lea na faaliliuina i le inisinia eletise Rusia o lona uiga o le "vaavaaia", i le gagana masani - "vaavaaia". Na'o Istio e le motusia ai e lenei masini se ta'amilosaga pu'upu'u po'o le mamafa tele, ae fa'aletonu pusa.
Fa'afefea e tatau ona galue lelei lenei mea
Pe a pulea e Kubernetes microservices, mo se faʻataʻitaʻiga i totonu o le OpenShift platform, latou te otometi lava ona fua i luga ma lalo e fuafua i le uta. Talu ai ona o microservices o loʻo tamomoe i pods, e mafai ona tele faʻataʻitaʻiga o se koneteina microservice i luga o le tasi pito, ma o Kubernetes o le a faʻatautaia talosaga ma uta paleni i le va o latou. Ma - lelei - o nei mea uma e tatau ona lelei atoatoa.
Matou te manatua o microservices e laiti ma ephemeral. Ephemerality, o lona uiga iinei o le faigofie o le faʻaalia ma le mou atu, e masani ona manatu faatauvaa. O le fanau mai ma le maliu o se isi faʻataʻitaʻiga o se microservice i totonu o se pod o ni mea e faʻamoemoeina, OpenShift ma Kubernetes e faʻatautaia lelei lenei mea, ma e lelei mea uma - ae toe fai i le teori.
E faapefea ona aoga
Vaʻai nei o se faʻataʻitaʻiga faʻapitoa o se microservice, o lona uiga, o se atigipusa, ua le mafai ona faʻaaogaina: a le o le tali mai (sese 503), pe, o le a le mea e sili atu le le fiafia, e tali mai, ae lemu. I se isi faaupuga, e avea ma glitchy pe le tali atu i talosaga, ae e le otometi ona aveesea mai le vaitaele. O le a le mea e tatau ona fai i lenei tulaga? Toe taumafai? E tatau ona ou aveese mai le faiga o auala? Ma o le a le uiga o le "telegese" - e fia le numera, ma o ai na te fuafuaina? Masalo na'o se malologa ae toe taumafai mulimuli ane? Afai o lea, e fia mulimuli ane?
O le a le Pool Ejection i Istio
Ma o iinei e sau ai Istio e laveai ma ana masini puipuia o le Circuit Breaker, lea e aveese ai mo se taimi le tumau koneteina sese mai le auala ma le faapaleniina o le vaitaele punaoa, faʻatinoina le faiga o le Pool Ejection.
I le fa'aaogaina o se ta'iala e iloa ai, e iloa ai e Istio ni pupuni o le fogafale e le o se laina ma aveese mai le vaita'ele o puna'oa mo se taimi ua fa'atulaga, e ta'ua o le faamalama moe.
Ina ia faʻaalia pe faʻapefea ona galue lenei mea i Kubernetes i luga o le OpenShift platform, seʻi o tatou amata i se faʻamalama o microservices masani galue mai le faʻataʻitaʻiga i le fale teu oloa.
Sauni mo se fa'alavelave
A'o le'i faia le Pool Ejection, e te mana'omia le faia o se tulafono fa'atonutonu Istio. Fa'apea tatou te manana'o e tufa talosaga ile va o pods ile fua faatatau 50/50. E le gata i lea, o le a matou faʻateleina le numera o pusa v2 mai le tasi i le lua, pei o lenei:
oc scale deployment recommendation-v2 --replicas=2 -n tutorial
Ole taimi nei ua matou setiina se tulafono faʻatonutonu ina ia tufatufa atu fefaʻatauaiga i le va o pods ile 50/50 ratio.
E fa'apea le i'uga o lea tulafono:
E mafai ona e suʻeina masei i le mea moni e le o 50/50 lenei lau, ae 14: 9, ae i le aluga o taimi o le a faʻaleleia le tulaga.
Faia o se faaletonu
Se'i tatou tapeina se tasi o koneteina v2 e lua ina ia maua se tasi pusa v1 maloloina, tasi pusa v2 maloloina ma le isi v2 fa'aletonu:
Fa'asalaina le fa'aletonu
O lea la, o lo'o i ai le matou koneteina fa'aletonu, ma ua o'o i le taimi mo le Pool Ejection. I le faʻaaogaina o se faʻaoga faigofie, o le a matou faʻateʻaina lenei atigipusa le manuia mai soʻo se auala faʻatautaia mo le 15 sekone i le faʻamoemoe o le a toe foʻi i se tulaga maloloina (pe toe amata pe toe faʻaleleia le faʻatinoga). O le mea lea e foliga mai ai lenei config ma taunuuga o ana galuega:
E pei ona e va'ai, ua le toe fa'aogaina le atigipusa v2 fa'aletonu mo fa'atonuga fa'ata'ita'i ona ua aveese mai le vaita'ele. Ae a maeʻa le 15 sekone o le a otometi lava ona toe foʻi i le vaitaele. O le mea moni, na matou faʻaalia le auala e galue ai Pool Ejection.
Tatou amata fau le faufale
Pool Ejection, faʻatasi ma le malosi o le mataʻituina o Istio, e mafai ai ona e amata fausia se faʻavae mo le suia otometi pusa faʻaletonu e faʻaitiitia, pe a le faʻaumatia, taimi faʻaletonu ma toilalo.
E tasi le anava leotele a le NASA - Failure Is Not a Option, o le tusitala lea ua manatu o le faatonu o le vaalele.
Istio, e pei ona matou tusia i luga, o loʻo faʻaaogaina le manatu o vaʻavaʻa, lea na faʻamaonia lelei i le lalolagi faaletino. Ma e pei lava o le eletise eletise e tapeina se vaega faʻafitauli o se matagaluega, Istio's software Circuit Breaker e tatalaina le fesoʻotaʻiga i le va o se vaitafe o talosaga ma se pusa faʻafitauli pe a iai se mea e sese i le pito, mo se faʻataʻitaʻiga, pe a paʻu le server pe amata faifailemu.
E le gata i lea, i le tulaga lona lua o loʻo i ai naʻo le tele o faʻafitauli, talu ai o taofi o le pusa e tasi e le gata e mafua ai le tuai o le faʻatuai i auaunaga e maua ai ma, o se taunuuga, faʻaitiitia le faʻatinoga o le faiga atoa, ae faʻatupuina foi le toe faia. talosaga i se auaunaga ua leva ona tuai, lea e na o le faateteleina o le tulaga .
Circuit Breaker i le talitonuga
Circuit Breaker o se sui e pulea le tafe o talosaga i se pito. A le toe galue lenei vaega pe, faʻatatau i faʻatulagaga ua faʻamaonia, amata ona faʻagesegese, o le sui e motusia le fesoʻotaʻiga ma le koneteina. Ona toe fa'afo'i atu lea o ta'avale i isi koneteina, ona o le paleni o uta. O lo'o tatala pea le feso'ota'iga mo se fa'amalama moe ua tu'uina atu, fai mai lua minute, ona fa'apea lea o le afa-matala. O se taumafaiga e lafo le isi talosaga e iloa ai le isi tulaga o le sootaga. Afai e lelei mea uma i le auaunaga, e toe foʻi le fesoʻotaʻiga i le tulaga galue ma toe tapunia. Afai o loʻo i ai pea se mea faʻaletonu i le tautua, ua motusia le fesoʻotaʻiga ma toe faʻaogaina le faamalama moe. O le fa'atusa lea o le fa'ata'ita'iga a le Circuit Breaker fa'afaigofie:
E taua le matauina iinei o nei mea uma e tupu i le tulaga o, e tautala ai, fausaga fausaga. O le mea lea, i se taimi e tatau ona e aʻoaʻo au tusi talosaga e galue ma Circuit Breaker, mo se faʻataʻitaʻiga e ala i le tuʻuina atu o se tau le aoga i le tali pe, pe a mafai, le amanaʻia le i ai o le auaunaga. O lo'o fa'aaogaina se fa'ata'ita'iga fa'apipi'i mo lenei mea, ae o lo'o i tua atu o le lautele o lenei tusiga.
Circuit Breaker i le faatinoga
Mo se faʻataʻitaʻiga, o le a matou faʻatautaia ni lomiga se lua o la matou fautuaga microservice i OpenShift. Fa'aliliuga 1 o le a lelei, ae i le v2 o le a matou fausia i se fa'atuai e fa'atusa le fa'agesegese i luga o le 'au'aunaga. Ina ia va'ai i'uga, fa'aoga le meafaigaluega
siege -r 2 -c 20 -v customer-tutorial.$(minishift ip).nip.io
E foliga mai e aoga mea uma, ae o le a le tau? I le tepa muamua, matou te maua le 100% avanoa, ae vaʻavaʻai totoʻa - o le umi o fefaʻatauaiga e sili atu i le 12 sekone. O lenei mea e manino lava o se faʻalavelave ma e manaʻomia le faʻalauteleina.
Ina ia faia lenei mea, o le a matou faʻaogaina Istio e faʻaumatia ai telefoni e faʻagesegese pusa. O le mea lea e foliga mai e fetaui ma le faʻaogaina o le Circuit Breaker:
O le laina mulimuli ma le httpMaxRequestsPerConnection parameter faʻailoga e tatau ona motusia le fesoʻotaʻiga pe a taumafai e fai se isi - se lua - fesoʻotaʻiga e faʻaopoopo i le mea o iai. Talu ai ona o le matou koneteina faʻataʻitaʻiina se auaunaga lemu, o ia tulaga o le a tulaʻi mai i lea taimi ma lea taimi, ona toe faʻafoʻi lea e Istio se mea sese 503, ae o le mea lea o le a faʻaalia:
Ua lelei, o lo'o iai le matou Circuit Breaker, o le a le isi mea?
O lea la, na matou faʻatinoina le tapunia otometi e aunoa ma le paʻi i le faʻailoga autu o auaunaga lava ia. I le faʻaaogaina o le Circuit Breaker ma le Pool Ejection procedure o loʻo faʻamatalaina i luga, e mafai ona tatou aveese pusa taofi mai le vaitaele punaoa seia toe foʻi i le masani, ma siaki o latou tulaga i se taimi faʻapitoa - i la tatou faʻataʻitaʻiga, e lua minute lenei (sleepWindow parameter).
Manatua o le gafatia o se talosaga e tali atu i se mea sese 503 o loʻo faʻatulagaina pea i le tulaga o le code source. E tele taʻiala mo le faʻaogaina o le Circuit Breaker, faʻatatau i le tulaga.
I le isi pou: O le a tatou talanoa e uiga i le suʻeina ma le mataʻituina ua uma ona fausia i totonu pe faigofie ona faʻaopoopo i Istio, faʻapea foʻi ma le faʻaogaina o mea sese i totonu o le polokalama.
puna: www.habr.com