GH GambleHub

Ekosistemany taşlamazdan täzelemek

(Bölüm: Ekosistema we Tor)

1) Zero-downtime maksady we ýörelgeleri

Zero-downtime-täzelenmeler kod, konfigurasiýa, maglumat shemasy we teswirnamalar üýtgän halatynda toruň we önümleriň üznüksiz işlemegini üpjün edýär. Esasy ýörelgeler:
  • Şertnamalaryň çäginde öňe/yza (backward/forward) gabat gelmek.
  • "Uly geçiş" ýerine (progressive delivery).
  • Syn edilişi we yzyna öwrülmegi: metrikler, ýollar, çalt yza gaýdyp gelmek.
  • Ulgam we töleg akymlary üçin idempotentlik we howpsuz retra.
  • Şowsuzlyklaryň izolýasiýasy: cell-arhitektura, circuit-breakers, fan-aut çäkleri.

2) Downtaýmasyz çykmak strategiýalary

Blue-Green - iki sany meňzeş yığını (Blue = prod, Green = new). Traffik derrew yza gaýdyp gelmek mümkinçiligi bilen deňagramlaşdyryjynyň derejesinde atomiki görnüşde geçýär.
Canary - SLO bellikleri bilen traffigiň tapgyrlaýyn paýy (1% → 5% → 20% → 50% → 100%).
Rolling - howuzyň taýynlyk barlagy (readiness) we birikmeleriň drenaji bilen täzelenmegi.
Shadow/Traffic Mirroring - jogaplara täsir etmezden täze wersiýa haýyşlary aýna.
Feature Flags - üýtgewsiz API-iň (gradual rollout) üstünde iş nokady.
Dark Launch - telemetriýa we profillemek üçin gizlin logika şahalaryny goşmak.

Maslahat: möhüm hyzmatlar üçin - canary + rolling + feature flags kombinasiýasy; şlýuzlar we API üçin - gysga geçiş bilen gök-ýaşyl.

3) Şertnama laýyklygy (API/wakalar/teswirnama)

API: URI/sözbaşylar boýunça wersiýa; meýdanlary goşmak - kabul ederlikli, aýyrmak/adyny üýtgetmek - diňe "deprekeýt penjiresi" arkaly.
Wakalar (event-bus): "diňe goşmak"; açarlar üýtgemez; Täze görnüşler - täze mowzuklar/wersiýalar ýaly.
Shemalar (Euro/JSON-Schema/Protobuf): shema-reýestr, gabat gelmek 'BACKWARD' FULL '.
Tor/P2P: version handshake we capability negotiation (düwünler goldanýan wersiýalary/şekilleri yglan edýär).
Gateways: göçmek döwri üçin vN bilen vN + 1 (transcoding/field mapping) arasyndaky adapterler.

Deprekeýt syýasaty (mysal): bildiriş → ≥ 90 gün duýduryş → "deprecated" baýdak → meýdan/endpoint aýyrmak.

4) Durmazdan maglumat göçmek (Expand → Migrate → Contract)

1. Expand - täze gurluşlary/indeksleri/sütünleri (nullable/c defolt), iki ýazgyny (dual-write) köne we täze formata goşmak.
2. Migrate - fon göçmeleri, backfill, yzygiderlilik tassyklaýjylary; iki shemany hem goldaýan adapter arkaly okamak.
3. Contract - köne shemany okamagy/ýazmagy öçürmek, "deprekeýt penjiresi" tamamlanandan soň tehniki karzy aýyrmak.

SQL (ýönekeý):
sql
-- Expand
ALTER TABLE payouts ADD COLUMN payout_ref TEXT NULL;
CREATE INDEX CONCURRENTLY ix_payouts_ref ON payouts(payout_ref);

-- Migrate (batch + idempotent)
UPDATE payouts SET payout_ref = concat('ref_', id) WHERE payout_ref IS NULL;

-- Contract (after compatibility window)
ALTER TABLE payouts ALTER COLUMN payout_ref SET NOT NULL;

Wakalaryň geleşigi: kepillendirilen gowşuryş üçin Outbox (waka ýazgysy bilen geleşik) + CDC ulanyň.

5) Uzak möhletli birikmeler we drenaj

Graceful shutdown: SIGTERM → Täze haýyşlary kabul etmegi bes ediň → 'readiness = fail' → WebSocket/HTTP2/QUIC akymlaryna garaşyň → ýapyň.
Connection draining balanslaýjyda: 'deregister _ delay' 30-120 s, sticky-sessiýalar - IP däl-de, tokenler arkaly.
Back-pressure: p99_latency ulalanda täze akymlary çäklendiriň.

6) SDK we müşderileri wersiýalaşdyrmak

SDK üçin SemVer; Giňeldilen goldaw penjiresi bolan LTS şahasy (mysal üçin 12 aý).
Policy: "azyndan iki sany işjeň minor wersiýasy"; wersiýalar boýunça müşderileriň paýyna telemetriýa; täzelenmegiň zerurlygy barada awtomatiki duýduryşlar.
Möhüm üýtgeşmeler (security): möhletden soň şlýuzyň üsti bilen köne wersiýalary öçürmäge mejbur edilen baýdak.

7) Protokollary we tor düwünlerini täzelemek

Soft-fork: köne düwünleri (capabilities) bozmazdan düzgünleri giňeltmek.
Hard-fork: öňünden yglan edilen penjire, goşa tassyklama, "kanar tassyklaýjylary", "reorg/rollback" gapma-garşylyklardan goramak, işjeňleşdirmek üçin wagt-lock.
Çapraz zynjyrly täzelenmeler: governance köprüleri işjeňleşdiriş signallaryny berýär; dargadylan ýagdaýynda - ýerli circuit-breaker.

8) Konfigurasiýalar we maglumatlar hökmünde syrlar

Wersiýalaşdyrmak, sanly gollar we yzyna gaýtarmak bilen merkezleşdirilen config-service.
Secrets rotation downtaimsiz: goşa açarlar (old/new), nobata goşulmak; KMS/PKI üçin nol duralgalary.
Aýratynlykda feature-flags, goşulmalaryň/öçürmeleriň barlagy.

9) Pipeline goýberilişi we awtomatiki "geýtlar"

Стадии: build → unit → security scan → e2e/stage → shadow → canary → 100%.

Duralgalar:
  • Error-budget burn-rate, p95/p99 latency, error-rate, success-rate hadysalarynyň/tölegleriniň azalmagy, dead-letter nobatlarynyň ýokarlanmagy.
  • Islendik tapgyrda SLO bozulanda awto-yza gaýdyp gelmek.
Mysal (psevdo-YAML):
yaml release:
strategy: canary steps:
- name: shadow traffic_mirror: 5%
gates: [no_data_loss, no_pii_leak]
- name: canary_1 traffic: 1%
gates: [error_rate<0. 2%, p99<400ms]
- name: canary_2 traffic: 10%
gates: [slo_ok_1h, zero_deadletters]
- name: rollout traffic: 100%
gates: [stability_6h]
- name: bake duration: 24h action: finalize_or_rollback

10) Syn etmek we goýbermek üçin SLO

Esasy SLI:
  • p95/p99 latency endpointler boýunça; error-rate (5xx + ölümli 4xx); wakalaryň success-rate; retraýlaryň paýy; nobatlaryň yzy; P2P-de "relay" paýy; wersiýalar boýunça müşderileriň paýy.
SLO (mysal):
  • p99 API ≤ 400 ms; error-rate ≤ 0. 2%; wakalar ≥ 99. 5%; nobatyň yzy ≤ 2 s; MTTR yza gaýdyp gelmek ≤ 15 minut.
  • Goýberilişiň daşbordlary: "öň/soň" deňeşdirmesi, kanar sütünleri, garaşlylyk kartasy (service map), burn-rate alertleri 1h/6h.

11) Gaýdyşlar we "kill-switch"

Awto-yzyna: iň soňky "gowy" artefaktlary we konfigidleri saklaň; Deňagramlaşdyryjyda "1 düwmeli" rollback (Blue ← Green).
Partial rollback: binar saklananda ficheflag täze logikany öçürýär.
Data rollback: diňe "read-paths" üçin; "write-paths" üçin - goralýan göçmeler (penjire gutarýança köne sütünleri hiç haçan aýyrmaň).
Kill-switch: durnuksyz kiçi ulgamy öçürmek üçin merkezleşdirilen baýdak.

12) Iş wagty bolmazdan synag

Müşderileriň ýagdaýyna garşy kontrakt synaglary (consumer-driven).
Laýyklyk barlagy bolan shema synaglary (schema-compat).
Stagingde Chaos-synaglar:% düwünleriň/sebitleriň şowsuzlygy, DHT/TURN/KMS/DNS-iň zaýalanmagy, "retraý tupany".
Ýükleýiş/remarket synaglary: kanareýa sebitleri we "gyzgyn" ugurlar.

13) Aragatnaşyk we komplayens düzgünleri

Release-notalar: üýtgeýän zat, täsir, deprekeýtiň penjireleri/möhletleri, hyzmatdaşlar üçin hereketler.
Hadysalara jogaplaryň SLA-lary: MTTA ≤ 5 min, statusyň birinji täzelenmesi ≤ 15 min, post-mortem ≤ 72 sagat.
Yzlaryň barlagy: ähli -üýtgeşmeleri we relizleri arzalara/propouzallara, artefaktlaryň gollaryna baglanyşdyrmak.

14) Ýörite ýagdaýlar

Töleg/maliýe akymlary: berk idempotentlik, idempotency-key boýunça dedup, outbox + CDC, diňe "weýran etmeýän" migrasiýa.
WebSocket/Stream: handshake-daky teswirnamanyň wersiýasy, jemlenen rekonnekt (resume tokens).
Cache/edge: 'stale-while-revalidate', iki sany cache wersiýasy, TTL arassaçylygy.
Jübi müşderileri: storlarda tapgyrlaýyn rollout, security-neşirlerde mejbury täzelenme.

15) Çek sanawy zero-downtime

1. Şertnama laýyklygy we shema-reýestr düzüldi.
2. Expand → Migrate → Contract beýan edildi we awtomatlaşdyryldy.
3. Balance/Ingress blue-green we drenaj birikmelerini goldaýar.
4. SLO derwezeleri we awto-yza gaýdyp barmak bilen Canary-paypline.
5. Feature-flags we kill-switch 24/7 elýeterlidir.
6. Outbox + CDC we idempotentlik ähli write-ýollar üçin açykdyr.
7. "Release-health" daşbordlary we burn-rate alertleri işjeň.
8. Aragatnaşyk we deprekeýt syýasaty hyzmatdaşlara öňünden yglan edilýär.
9. Yzyna gaýtarmagyň hepdelik repetisiýasy; çärýeklik chaos-day.

16) Sözlük

Progressive delivery - töwekgelçiliklere gözegçilik edýän tapgyrlaýyn neşir.
Schema registry - laýyklyk syýasatlary bilen shemalaryň wersiýalarynyň ammary.
Outbox/CDC - amallardan wakalary kepillendirilen çap etmegiň şablony.
"Blue-Green" - traffigiň atom çalşygy bilen paralel akymlar.
Canary - täze wersiýada traffigiň paýyny kem-kemden artdyrmak.
Graceful shutdown/draining - işjeň baglanyşyklaryň dogry tamamlanmagy.

Netije: nol düşmek bir hile däl-de, ulgam: şertnamalar, shemalaryň laýyklygy, tapgyrlaýyn goýberiş strategiýalary, gözegçilik, howpsuz migrasiýa we kepillendirilen yza gaýdyp gelmek. Bu çarçuwadan soň ekosistema çalt, öňünden aýdyp boljak we ulanyjylar we hyzmatdaşlar üçin agyrysyz täzelenýär.

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.

Telegram
@Gamble_GC
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.