GH GambleHub

Sıfır-Downtime ýerleşdirmek

(Bölüm: Binagärlik we teswirnamalar)

1) Zero-Downtime näme we näme üçin zerur?

Zero-Downtime (ZDT) ulanyjylar üçin hyzmat elýeterli bolmazdan we haýyşlary ýitirmezden programmanyň täze wersiýalaryny çykarmagyň usulydyr. Maksatlar:
  • Müşderiler we integrasiýa üçin nol aňsat.
  • Öňünden aýdylýan goýberişler, çalt yza gaýdyp gelmek we dolandyrylýan töwekgelçilik.
  • Şertnamalaryň çäginde SLO/SLI (gizlinlik, ýalňyşlyklar, elýeterlilik) saklamak.

ZDT açary bir "jadyly" enjam däl-de, eltip bermek patternleriniň, maglumatlaryň laýyklygynyň we traffigiň başarnykly ugrukdyrylmagynyň utgaşmasydyr.

2) Zero-Downtime esasy ýörelgeleri

1. Wersiýalaryň laýyklygy: täze we köne wersiýalar bir wagtyň özünde traffigi we maglumatlary dogry işlemeli.
2. Amallaryň duýgurlygy: gaýtadan işlemek ýagdaýy bozmaly däldir.
3. Birleşmeleriň ajaýyp tamamlanmagy (graceful shutdown) we drenaji.
4. Saglygyň ädimme-ädim barlagy: readiness/liveness synaglary, health-endpointler.
5. Birinji derejeli raýat hökmünde yza gaýdyp gelmek: rollback hotfix-den has aňsat we çalt.
6. Syn edilmegi by design: reliz bellikleri, ýekeje daşbordlar, SLO boýunça aladalar.
7. Awtomatlaşdyryş: goýbermegiň we yzyna gaýtarmagyň ssenarileri - el bilen görkezmeler däl-de, kod.

3) Arzasyz eltip bermek patternleri

3. 1 Rolling Update

Kem-kemden köne wersiýalaryň bir bölegini traffigiň aşagyndan çykarýarys, täzesine täzeleýäris we howuza gaýtarýarys.

Artykmaçlyklary: infrastruktura taýdan tygşytly, diňe k8s/ASG.
Minuslar: klaster bir wagtyň özünde iki wersiýa (version skew) bilen işleýär.

3. 2 Blue-Green

Iki sany doly prod-stek: aktiw (Blue) we dalaşgär (Green). Traffigi üýtgetmek - atom flip.

Plýuslar: derrew yza gaýdyp gelmek, arassa izolýasiýa.
Minuslar: ↑ infrastruktura üçin çykdajylar, stateful bilen has kyn.

3. 3 Kanary/Progressiw rollout

Traffigiň az bölegini (1-5-10-25-50-100%) metrikler boýunça geýtler bilen täze wersiýa berýäris.

Pluslary: iň az blast radius, data-driven çözgütleri.
Minuslar: kämillik ýaşyna ýeten gözegçilik we akylly marşrut gerek.

3. 4 Shadow traffic / Dark launch

Hakyky haýyşlary täze wersiýa aýnalarys (ulanyja jogap bermezden) ýa-da metrikleri ýygnamak üçin gizlin işe girizýäris.

Artykmaçlyklary: problemalary ir ýüze çykarmak.
Minuslar: endiklere goşa ýük, zyýanly täsirlere gözegçilik etmek zerur.

4) Traffigi we birleşmeleri dolandyrmak

4. 1 Readiness/Liveness

Liveness orkestrine "meni täzeden başla" diýýär.
Readiness - "traffigi ugrukdyrma, men entek taýyn däl".
Dogry readiness-logika we wagt geçirmezden çykaryp bolmaz.

4. 2 Baglanyşyk drenajy

Instant puldan çykarylmazdan ozal:
  • täze baglanyşyklary kabul etmegi bes edýäris,
  • işjeň gutarmagyna garaşýarys,
  • Taýmaut boýunça "asylanlary" kesýäris.

4. 3 Sticky sessiýalary we L7 derejesini ugrukdyrmak

Sticky stateful-ssenarilerde peýdalydyr, ýöne ýük balansyny kynlaşdyrýar.
L7 düzgünleri (ýolda, sözbaşy, kuke, API wersiýalary) canary/ring üçin amatlydyr.

4. 4 Uzak möhletli baglanyşyklar

WebSocket/gRPC streaming: täzelenmezden ozal "GOAWAY" signalyny açyň.
Müşderileriň akymlaryndan we arka taraplaryndan geçmek üçin windows meýilleşdiriň.

5) Maglumatlaryň we DB migrasiýasynyň laýyklygy

5. 1 Expand-Migrate-Contract

1. Expand: Köne wersiýany bozmazdan täze sütünleri/indeksleri/tablisalary goşuň.
2. Migrate: maglumatlary fon we idempotent (batçi, barlag nokatlary) bilen geçirýäris.
3. Contract: Könesini diňe durnuklaşandan soň aýyrýarys.

5. 2 Amallar

Goýberiş penjiresinde aýratyn DDL lokmalaryndan gaça duruň.
API/waka şertnamalaryny wersiýa ediň (shema registry, CDC).
Agyr migrasiýa üçin - onlaýn gurallary, replikalary, tapgyrlaýyn geçişleri.
Iki konturly ýazgy (dual-write) diňe duplikasiýa we idempotent sarp edijiler bilen.
Nobatlar arkaly ygtybarly integrasiýa üçin Outbox/Inbox.

6) Keşler, sessiýalar we fon wezipeleri

Sessiýalar we kesh - wersiýalary çalyşmak üçin daşarky (Redis/Memcached).
Howuza girmezden ozal keş/jit/temperatura indekslerini gyzdyrmak.
Fon nobatlaryny wersiýa görä bölüň ýa-da ýaryşlardan gaça durmak üçin liderligi ulanyň.

7) SLO boýunça gözegçilik we geýt

Golden signals: latentlik p95/p99, error rate, RPS, saturation, lag nobatlar.
Business-SLA: awtorizasiýa, konwersiýa, üstünlikli tölegler, huniniň ädimlerinden ýüz öwürmek.
Geýtlar: rollout diňe canary ≤ baseline + zaýalanma bosagasy we error budget ýanmasa öňe gidýär.

8) Howpsuz tamamlamak we yzyna gaýtarmak

Yza gaýdyp gelmek şol bir paýpline, diňe ters tarapa: kesgitlenen buýruklar, "el bilen ýasamak" däl.
Blue-green üçin - flip back; canary üçin - 0% ýa-da öňki durnukly ädim.
Maglumatlar: öwezini dolýan amallar, gaýtadan işlemek, wakalaryň duplikasiýasy.

9) Çek sahypalary Zero-Downtime

Çykmazdan ozal

  • Bir gol çekilen artefakt (immutable), SBOM we endikleri barlamak ýygnaldy.
  • Readiness/liveness amala aşyryldy we synagdan geçirildi.
  • Göçmek meýilnamasy expand re modeiminde, yzyna dolanmak mümkinçiligi tassyklandy.
  • Daşbordlar we alertler täze wersiýa üçin taýýar, goýberiş bellikleri zyňylýar.
  • Yza gaýdyp barmak staging/pre-prod.

Goýberilende

  • Baglanyşyklaryň drenaji açylýar, wagt ýeterlik.
  • Ulag kem-kemden terjime edilýär (canary/ring) ýa-da flip (gök-ýaşyl).
  • Metrikler baseline bilen deňeşdirilýär, geýtleriň bosagalary berjaý edilýär.

Çykarylandan soň

  • N sagatdan soňky gözegçilik, hadysalar ýok.
  • Contract göçmeleri tamamlandy, wagtlaýyn baýdaklar/ugurlar aýryldy.
  • Retrospektiv, oýun kitaplaryny täzelemek.

10) Anti-patternler

Drenajsyz recreate-deploy we readiness ⇒ Soraglaryň kesilmegi.
Taýynlanmadyk DDL ⇒ prime-time blokirlemeler we wagtlar.
Hyzmatyň wersiýalarynyň arasynda gabat gelmeýän shemalary garyşdyrmak.
Prosessorlarda we workerlerde idempotentligiň ýoklugy.
Geýtsiz we baseline bilen deňeşdirmezden "Duýgulara görä çykmak".
Uzyn DNS-TTL gök ýaşyl, şonuň üçin flip birnäçe sagatlap dowam edýär.
rolling/canary.

11) Durmuşa geçirmegiň ssenariýalary

11. 1 Kubernetes (rolling + canary)

Deployment с `maxUnavailable=0`, `maxSurge=25%`.
Readiness gyzmagyna garaşýar (keş başlangyjy, minor göçmegi).
Hyzmat-mesh/Ingress bilen weighted routing (1-5-10-25-50-100%).
Alertler: p95, 5xx, nobat, iş hunisi.

11. Bulutda 2 Gök-ýaşyl

Deňagramlaýjydan soň iki stek: 'blue. example. com` и `green. example. com`.
Green, smoke/regress, soňra listener/route swap (ýa-da pes TTL bilen DNS geçiş).
Meselelerde - derrew flip back.

11. 3 Stateful-service

Maglumatlaryň göçürmeleri + onlaýn-migrasiýa; iki gezek okamak.
Fon joblary wersiýanyň "ýolbaşçylygy" ýa-da bölünen nobatlar boýunça geçirilýär.
Sessiýa/kesh; sticky diňe wagtlaýyn açylýar.

12) Fiçeflaglar we müşderi programmalary

Täze çyzgylar baýdaklar bilen işjeňleşdirilýär (segmentler: işgärler → beta → hemmesi).
Ykjam/desktop-müşderiler üçin teswirnamanyň laýyklyk çäklerini we köne wersiýalaryň (deprecation policy, server-side fallback) ýaşamagyny göz öňünde tutuň.

13) Öndürijiligi we bahasy

Rolling arzan, ýöne seresaplylyk bilen gabat gelmegini talap edýär.
"Blue-Green" çykmak üçin has gymmat, ýöne derrew yza gaýdyp gelýär.
Canary töwekgelçilikleri we bahalary deňleşdirýär, ýöne güýçli syn edilmegini talap edýär.
Ephemeral-prevyu we stendleri awto-arassalamak arkaly tygşytlaň.

14) Iň pes salgylanma paýlaýjysy ZDT

1. Build: ýekeje artefakt, gol, SBOM.
2. Test: unit/integration/contract + security.
3. Staging: smoke, ýük, expand re modeiminde göçmek, yza çekilişi barlamak.
4. Prod: shadow → canary (geýt) ýa-da blue-green flip.
5. Post-deploy: gözegçilik, contract-cleanup, retro.

15) Gysgaça rezýume

Zero-Downtime - bu düzgün-nyzam: gabat gelýän wersiýalar + dogry marşrut + dolandyrylýan migrasiýa + gözegçilik we çalt yza gaýdyp gelmek. Kontekste (rolling, blue-green, canary) nagşy saýlaň, SLO-da geýtleri awtomatlaşdyryň, maglumatlary idempotent saklaň - we goýberilişler ygtybarly adaty prosese öwrülip, waka bolmagyny bes eder.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.