Polku 05Oppitunti 7 / 8

Rajaa self-healingin valtuudet

Automatisoi tunnettu palautustoimi selkein oikeuksin, varmennuksin ja pysäytysehdoin. Erota ajonaikainen palautus ohjelmiston muuttamisesta.

Syventävä12 minTarkistettu

Julkaisija Näin kirjoitamme

Mitä opit

  • Erotat self-healingin pysyvästä ohjelmistokorjauksesta.
  • Määrität rajatun palautuspolicyn ja riippumattoman onnistumisen tarkistuksen.
  • Tunnistat tilanteet, joissa automaation pitää pysähtyä ja eskaloida.

Palaudu tunnetusta viasta

Self-healing tunnistaa määritellyn vian ja yrittää valtuutettua palautustoimea automaattisesti. Esimerkkejä ovat pysähtyneen prosessin käynnistys ja epäterveen instanssin korvaaminen. Toimen pitää sopia vikaan ja palvelun tilamalliin.

Kubernetes voi korvata epäonnistuneita workload-instansseja ja sovittaa toteutunutta tilaa määriteltyyn tilaan. Se ei korjaa sovelluslogiikkaa tai kaikkia tallennuksen virheitä. Infran palautuminen ja ohjelmiston oikea toiminta tarvitsevat eri tarkistukset. Kubernetes self-healing.

Määritä tavoite ennen mekanismia. Viennin palautuminen tarkoittaa sallitun työn valmistumista oikein. Käynnissä oleva kontti on vain yksi edellytys.

Erota kolme muutosta

MuutosEsimerkkiTarvittava päätös
Ajonaikainen palautusYhden pysähtyneen stateless-workerin korvaaminenEnnalta hyväksytty palautuspolicy voi valtuuttaa toimen
OhjelmistokorjausWorkerin pysäyttävän muistivuodon korjaaminenReview, testit, julkaisukontrollit ja tuotannon varmennus
Policyn muutosSallitun restart-tahdin tai käyttöoikeuden laajentaminenPolicyn omistajan erillinen hyväksyntä

Agentti voi ehdottaa korjausta palautumisen jälkeen. Ehdotus on uusi ohjelmistomuutos. Se ei saa periä palautuscontrollerilta rajatonta valtuutta.

Controller ei myöskään saa muuttaa omia onnistumiskriteerejään tarkistuksen epäonnistuessa. Muuten järjestelmä voi raportoida parannusta palvelun paranematta.

Kirjoita palautuspolicy ennen käyttöönottoa

Seuraava policy on kuvitteellinen. Luvut havainnollistavat valintoja, eivät ole suositeltuja oletusarvoja.

Policyn osaKuvitteellisen export-workerin sääntö
TriggerHeartbeat puuttuu 90 sekuntia ja jonossa on työtä
EdellytyksetToinen worker toimii; riippuvuustarkistukset onnistuvat; ei epäiltyä tietomurtoa tai eheysvirhettä
Sallittu toimiKorvaa yksi worker nykyisellä hyväksytyllä artefaktilla
Tilan suojausJobit käyttävät pysyvää tallennusta ja varmennettua idempotency keytä
RajaEnintään kaksi korvausta 15 minuutissa, aina yksi kerrallaan
CooldownOdota korvauksen jälkeen viisi minuuttia ennen uutta yritystä
OnnistuminenSynteettinen job valmistuu oikein ja kyseinen jono alkaa purkautua
Pysäytys ja eskalointiEdellytys pettää, yritysraja täyttyy tai onnistumista ei voida varmentaa

Käytä vähimpiin tarvittaviin oikeuksiin rajattua identiteettiä. Tallenna policyn versio, triggerin näyttö, toimi, resurssi ja tulos. Tarjoa riippumaton tapa pysäyttää controller. Nimeä eskaloinnin vastaanottava ihminen.

Testaa myös epäonnistuminen

Retry voi toistaa sivuvaikutuksen. Worker saattaa tallentaa tiedoston ja pysähtyä ennen jobin kuittausta. Varmista idempotenssi ennen uutta suoritusta. Katso cloud native -esimerkki.

Retryt voivat pahentaa riippuvuuden ylikuormaa. Rajaa yritykset ja käytä timeoutia sekä sopivaa backoffia. Estä koko fleetin samanaikaiset retryt. AWS kuvaa backoffin ja jitterin merkitystä kuorman hallinnassa. Retry-ohje.

Testaa kuvitteellinen policy kolmella tilanteella. Yhden pysähtyneen workerin pitäisi palautua. Tietokantakatkon pitäisi estää toistuva korvaaminen. Epäselvän eheysvirheen pitäisi pysäyttää automaatio ja pyytää päätös jatkotoimista.

Testaa myös puuttuva telemetria. Heartbeatin puuttuminen voi kertoa workerin viasta tai keruuketjun häiriöstä. Controller tarvitsee toimeen riittävän näytön, ei luottamusta AI:n selitykseen.

Mittaa policyn hyöty

Kirjaa varmennetut palautumiset, epäonnistuneet yritykset, eskaloinnit, toistettu työ ja käyttäjävaikutuksen kesto. Vertaa niitä aiempaan toimintatapaan vastaavissa olosuhteissa.

Pidä alkuperäinen vika kehitystehtävänä. Muistia vuotavan prosessin toistuva restart voi lieventää vaikutusta korjaamatta vuotoa. Jatka self-improvementiin, jossa havainto yhdistyy pysyvään korjaukseen.

Sovella käytäntöön

Suunnittele palautuspolicy oppitunnin kuvitteelliselle export-workerille. Määritä trigger, poissulkevat ehdot, sallittu toimi, yritysraja, cooldown, onnistumisen tarkistus ja eskaloinnin omistaja. Testaa policy tietokantakatkoa ja epäselvää datan eheysvirhettä vasten.

Lataa työpohja (Markdown)

Testaa, mitä opit

Controller on käynnistänyt workerin uudelleen kahdesti. Jono kasvaa edelleen, eikä tietokantaan saa yhteyttä. Mitä policyn pitää tehdä?

Lähteet ja lisälukeminen

Aiheesta Taigan sivuilla