Vendosni kufij të sigurt për vetërikuperimin
PërfunduarAutomatizoni veprime të njohura rikuperimi me autoritet të qartë, verifikim dhe kushte ndalimi. Ndani rikuperimin gjatë ekzekutimit nga ndryshimi i softuerit.
Publikuar nga TaigaSi shkruajmë
Kontrolloni çfarë keni kuptuarKontrolluesi e ka rinisur dy herë një proces worker. Radha vazhdon të rritet dhe baza e të dhënave nuk është e arritshme. Çfarë duhet të bëjë politika?Bëni ushtrimin
Çfarë do të mësoni
- Dalloni vetërikuperimin nga një korrigjim i përhershëm i softuerit.
- Përcaktoni një politikë të kufizuar rikuperimi dhe kontrolle të pavarura suksesi.
- Dalloni kur automatizimi duhet të ndalet dhe ta përshkallëzojë çështjen.
Rikuperoni një gjendje të njohur
Vetërikuperimi zbulon automatikisht një dështim të përcaktuar dhe provon një veprim të autorizuar rikuperimi. Rinisja e një procesi të dështuar ose zëvendësimi i një instance që nuk funksionon siç duhet mund të jenë shembuj. Veprimi duhet t’i përshtatet dështimit dhe modelit të gjendjes së shërbimit.
Kubernetes mund të zëvendësojë instancat e dështuara të ngarkesës së punës dhe të përputhë gjendjen reale me atë të deklaruar. Kjo nuk korrigjon logjikën e gabuar të aplikacionit ose çdo dështim të ruajtjes. Rikuperimi i infrastrukturës dhe saktësia e softuerit kërkojnë kontrolle të ndryshme. Vetërikuperimi në Kubernetes.
Përcaktoni objektivin para mekanizmit. Restaurimi i eksportit do të thotë se puna që plotëson kushtet përfundon saktë. Një kontejner që funksionon është vetëm një parakusht.
Ndani tre lloje ndryshimi
| Ndryshimi | Shembulli | Vendimi i nevojshëm |
|---|---|---|
| Rikuperim gjatë ekzekutimit | Zëvendësoni një proces worker të dështuar pa gjendje lokale të ruajtur | Një politikë rikuperimi e miratuar paraprakisht mund ta autorizojë këtë |
| Korrigjim softueri | Korrigjoni rrjedhjen e kujtesës që ndalon procesin worker | Shqyrtim, teste, kontrolle publikimi dhe verifikim në prodhim |
| Ndryshim politike | Rrisni shpeshtësinë e lejuar të rinisjes ose shtrirjen e aksesit | Miratim i shprehur nga personi përgjegjës për politikën |
Një agjent mund të propozojë korrigjim pas rikuperimit. Ai propozim është një ndryshim i ri softueri. Nuk duhet të trashëgojë autoritet të pakufizuar nga kontrolluesi i rikuperimit.
Kontrolluesi gjithashtu nuk duhet të ndryshojë kriteret e veta të suksesit kur një kontroll dështon. Përndryshe, sistemi mund të raportojë përmirësim pa e përmirësuar shërbimin.
Shkruani politikën e rikuperimit para se ta aktivizoni
Politika e mëposhtme është e trilluar. Numrat e saj ilustrojnë zgjedhje projektimi; nuk janë vlera të parazgjedhura të rekomanduara.
| Fusha e politikës | Rregulli i trilluar për procesin worker të eksportit |
|---|---|
| Kushti nxitës | Sinjali periodik i procesit worker mungon për 90 sekonda dhe ka punë në radhë |
| Parakushtet | Një proces tjetër worker është në gjendje të mirë; kontrollet e varësive kalojnë me sukses; nuk ka dyshim për komprometim ose dështim të integritetit |
| Veprimi i lejuar | Zëvendësoni një proces worker duke përdorur artefaktin aktualisht të miratuar |
| Mbrojtja e gjendjes | Detyrat përdorin ruajtje të qëndrueshme dhe një çelës idempotence të verifikuar |
| Kufiri | Jo më shumë se dy zëvendësime në 15 minuta; kurrë më shumë se një njëkohësisht |
| Intervali i pritjes | Prisni pesë minuta pas zëvendësimit para një përpjekjeje tjetër |
| Suksesi | Një detyrë sintetike përfundon saktë dhe radha e prekur fillon të zbrazet |
| Ndalimi dhe përshkallëzimi | Cilido parakusht nuk plotësohet, arrihet kufiri ose suksesi nuk mund të verifikohet |
Përdorni një identitet me privilegjet minimale. Regjistroni versionin e politikës, evidencën e kushtit nxitës, veprimin, burimin dhe rezultatin. Siguroni një mënyrë të pavarur për ta çaktivizuar kontrolluesin. Përcaktoni personin përgjegjës që merr njoftimin e përshkallëzimit.
Testoni rrugët e dështimit dhe rikuperimin e suksesshëm
Një riprovim mund të përsërisë një efekt anësor. Një proces worker mund të ruajë një skedar dhe të ndalet para se të konfirmojë detyrën. Verifikoni idempotencën para se të lejoni një ekzekutim tjetër. Shihni shembullin e dështimit cloud native.
Riprovimet mund të shtojnë ngarkesën edhe mbi një varësi tashmë të mbingarkuar. Përdorni përpjekje të kufizuara, afate pritjeje dhe vonesë të përshtatshme mes riprovimeve. Shmangni riprovimet e sinkronizuara në të gjitha instancat. AWS shpjegon pse vonesa mes riprovimeve dhe ndryshimi i rastësishëm i saj ndihmojnë në zvogëlimin e këtij përforcimi. Udhëzim për riprovimet.
Testoni politikën e trilluar kundrejt tre rasteve. Një proces i vetëm worker i ndalur duhet të rikuperohet. Një ndërprerje e bazës së të dhënave duhet të pengojë zëvendësimin e përsëritur. Një dështim i pasigurt i integritetit duhet ta ndalë automatizimin dhe të kërkojë vendim për përgjigjen.
Kontrolloni edhe telemetrinë që mungon. Mungesa e sinjalit periodik mund të nënkuptojë një proces worker të dështuar ose një rrugë mbledhjeje të dështuar. Kontrolluesi ka nevojë për evidencë të mjaftueshme për veprimin e tij, jo për besim në një shpjegim të AI-së.
Matni nëse politika ndihmon
Regjistroni rikuperimet e verifikuara, përpjekjet e pasuksesshme, përshkallëzimet, punën e dyfishuar dhe kohën gjatë së cilës përdoruesit u prekën. Krahasojini me metodën e mëparshme të operimit në kushte të ngjashme.
Mbajeni defektin themelor si punë inxhinierike për t’u bërë. Rinisja e përsëritur e një procesi me rrjedhje kujtese mund ta zvogëlojë ndikimin e menjëhershëm, ndërsa rrjedhja vazhdon. Vazhdoni me vetëpërmirësimin për ta lidhur vëzhgimin me një korrigjim të qëndrueshëm.
Bëni ushtrimin
Projektoni një politikë rikuperimi për procesin e trilluar worker të eksportit në këtë mësim. Përcaktoni kushtin nxitës, përjashtimet, veprimin e lejuar, kufirin e riprovimeve, intervalin e pritjes, kontrollin e suksesit dhe personin përgjegjës për përshkallëzimin. Testojeni kundrejt ndërprerjes së bazës së të dhënave dhe një dështimi të panjohur të integritetit të të dhënave.
Shkarkoni fletën e punës (Markdown)Heqja e kësaj zgjedhjeje fshin të gjithë përparimin e ruajtur në këtë shfletues.
Përparimi mbetet në këtë shfletues. Pa llogari, pa gjurmim.
Burime dhe lexime të mëtejshme
- Kubernetes: Self-Healing ↗
- AWS Builders’ Library: Timeouts, retries, and backoff with jitter ↗
- Google SRE: Automation at Google ↗