GH GambleHub

Ekotizimni downtimsiz yangilash

(Bo’lim: Ekotizim va Tarmoq)

1) Zero-downtime maqsadi va prinsiplari

Zero-downtime-yangilanishlar kodlar, konfiguratsiyalar, ma’lumotlar sxemalari va protokollar o’zgarganda tarmoq va mahsulotlarning uzluksiz ishlashini ta’minlaydi. Asosiy tamoyillar:
  • Kontraktlar chegarasida oldinga/orqaga moslik (backward/forward).
  • «Katta almashtirish» o’rniga bosqichma-bosqich (progressive delivery).
  • Kuzatish va qaytaruvchanlik: metrika, trastirovka, tezkor orqaga qaytish.
  • Tarmoq va to’lov oqimlari uchun idempotentlik va xavfsiz retrajlar.
  • Nosozliklar izolyatsiyasi: cell-arxitektura, circuit-breakers, fan-aut limitlari.

2) Dauntaymsiz reliz strategiyalari

Blue-Green - ikkita bir xil stek (Blue = prod, Green = new). Trafik bir zumda orqaga qaytish imkoniyati bilan muvozanatlash darajasida atomar tarzda o’tkaziladi.
Canary - SLO-geytlar bilan bosqichma-bosqich trafik ulushi (1% → 5% → 20% → 50% → 100%).
Rolling - pochtani tayyor ekanligini tekshirish (readiness) va ulanishlarni drenaj qilish bilan uzelbop yangilash.
Shadow/Traffic Mirroring - javoblarga ta’sir qilmasdan so’rovlarni yangi versiyaga aks ettirish.
Feature Flags - oʻzgarmas API (gradual rollout) ustiga biznes fich almashtirish.
Dark Launch - telemetriya va profillash uchun yashirin mantiq tarmoqlarini yoqish.

Tavsiya: tanqidiy xizmatlar uchun - canary + rolling + feature flags kombinatsiyasi; shlyuzlar va API uchun - qisqa almashtiriladigan blue-green.

3) Kontrakt muvofiqligi (API/hodisa/protokol)

API: URI/sarlavhalar bo’yicha versiyalash; maydonlarni qoʻshish mumkin, olib tashlash/qayta nomlash faqat «deprekeyt-oyna» orqali amalga oshiriladi.
Hodisalar (event-bus): «faqat qoʻshish»; kalitlar o’zgarmas; yangi turlari - yangi mavzular/versiyalar kabi.
Sxemalar (Euro/JSON-Schema/Protobuf): sxema-reyestr, muvofiqlik’BACKWARD’FULL’.
Tarmoq protokoli/P2R: version handshake va capability negotiation (uzellar qoʻllab-quvvatlanadigan versiyalar/fichlarni eʼlon qiladi).
Gateways: migratsiya davrida vN va vN + 1 (transcoding/field mapping) orasidagi adapterlar.

Deprekeyt siyosati (misol): e’lon → 90 kunlik ogohlantirish ≥ → «deprecated» bayrog’i → maydon/endpointni olib tashlash.

4) To’xtovsiz ma’lumotlar migratsiyasi (Expand → Migrate → Contract)

1. Expand - yangi tuzilmalar/indekslar/ustunlar (nullable/c defolt), ikki yozuv (dual-write) ni eski va yangi formatga qoʻshish.
2. Migrate - fon migratsiyasi, backfill, konsistentlik validatorlari; ikkala sxemani qoʻllab-quvvatlovchi adapter orqali oʻqish.
3. Contract - eski sxemaga oʻqish/yozishni oʻchirish, «deprekeyt oynasi» tugagandan soʻng texnik qarzni olib tashlash.

SQL (soddalashtirilgan):
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;

Hodisalarning tranzaksiyaliligi: Outbox + CDC dan foydalaning.

5) Uzoq umr ko’radigan birikmalar va drenaj

Graceful shutdown: SIGTERM → yangi so’rovlarni qabul qilishni to’xtating →’readiness = fail’→ WebSocket/HTTP2/QUIC drenajini kuting → yoping.
Connection draining balanslovchida:’deregister _ delay’30-120 s, sticky-sessiyalar - IP orqali emas, balki tokenlar orqali.
Back-pressure: p99_latency koʻpayganda yangi jadvallarni cheklash.

6) SDK va mijozlarni versiyalash

SDK uchun SemVer; LTS filiali (masalan, 12 oy).
Policy: «kamida ikkita faol minor versiya»; versiyalar bo’yicha mijozlar ulushiga telemetriya; yangilash zarurligi to’g "risida avtomatik ogohlantirish.
Muhim oʻzgarishlar (security): muddatdan keyin eski versiyalarni shlyuz orqali oʻchirish uchun majburlangan bayroq.

7) Protokol va tarmoq uzellarini yangilash

Soft-fork: eski tugunlarni (capabilities) buzmasdan qoidalarni kengaytirish.
Hard-fork: oldindan e’lon qilingan oyna, ikki baravar validatsiya, «kanar validatorlari», «reorg/rollback» mojarolardan himoya qilish, faollashtirish uchun time-lock.
Kross-zanjirli apdeytlar: governance ko’priklari faollashtirish signallarini uzatadi; rassinxronizatsiya holatida - lokal circuit-breaker.

8) Konfiguratsiyalar va ma’lumotlar sifatidagi sirlar

Markazlashtirilgan config-service versiyalash, raqamli imzolar va qaytarish bilan.
Secrets rotation no duntaym: dual kalitlar (old/new), navbatma-navbat yoqish; KMS/PKI uchun nol nuqta.
Alohida storada feature-flags, kiritish/oʻchirish auditi.

9) Pipeline reliz va avtomatik «geytlar»

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

Geyt-to’xtash:
  • Error-budget burn-rate, p95/p99 latency, error-rate, success-rate hodisalar/to’lovlarning kamayishi, dead-letter navbatlarining o’sishi.
  • Har qanday bosqichda SLO buzilganda avto-qaytish.
Misol (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) Relizlar uchun kuzatish va SLO

Asosiy SLI:
  • endpointlar bo’yicha p95/p99 latency; error-rate (5xx + halokatli 4xx); voqealar success-rate; retraylar ulushi; navbatlar oralig’i; P2Pdagi «relay» ulushi; versiyalari bo’yicha mijozlar ulushi.
SLO (misol):
  • p99 API ≤ 400 ms; error-rate ≤ 0. 2%; success-rate hodisalar ≥ 99. 5%; lag navbati ≤ 2 s; MTTR orqaga qaytish ≤ 15 daqiqa
  • Reliz dashbordlari: «oldin/keyin» taqqoslash, kanareya grafalari, qaramlik xaritasi (service map), burn-rate alertlari 1 soat/6 soat.

11) Orqaga qaytish va «kill-switch»

Avto-otkat: so’nggi «yaxshi» artefaktlar va konfiguralarni saqlang; «1-tugmachali» rollback (Blue ← Green).
Partial rollback: Binar saqlanganda ficheflag yangi mantiqni oʻchiradi.
Data rollback: faqat «read-paths» uchun; «write-paths» uchun - himoyalangan migratsiyalar (hech qachon eski ustunlarni oynaning oxirigacha olib tashlamang).
Kill-switch: beqaror quyi tizimni oʻchirish uchun markazlashtirilgan bayroq.

12) Bo’sh turmasdan test o’tkazish

Mijozlar barqarorligiga qarshi kontrakt testlari (consumer-driven).
Mosligi tekshirilgan sxema testlari (schema-compat).
Steyjingdagi Chaos-testlar:% uzellar/hududlarning ishdan chiqishi, DHT/TURN/KMS/DNS degradatsiyasi, «retray bo’roni».
Yuklash/rekmarket testlari: kanareya mintaqalari va «issiq» yo’nalishlar.

13) Kommunikatsiyalar va komplayens reglamentlari

Reliz notalari: nima o’zgarishi, ta’siri, deprekeyt oynalari/muddatlari, sheriklar uchun harakatlar.
Noxush hodisalarga javoblar SLA: MTTA ≤ 5 min, birinchi maqom yangilanishi ≤ 15 min, post-mortem ≤ 72 soat.
Izlar auditi: barcha -o’zgarishlar va relizlarni buyurtmanomalar/prouzallarga bog’lash, artefaktlar imzolari.

14) Maxsus holatlar

To’lov/moliyaviy oqimlar: qat’iy idempotentlik, idempotency-key bo’yicha dedup, outbox + CDC, faqat «buzmaydigan» migratsiya.
WebSocket/oqimlar: protokolning handshake versiyasi, xulosa bilan rekonnekt (resume tokens).
Cache/edge:’stale-while-revalidate’, cachning ikki xil versiyasi, reliz davrida TTL gigiyenasi.
Mobil mijozlar: storlarda bosqichma-bosqich rollout, security-sonlarda majburiy yangilanish.

15) Chek-varaq zero-downtime

1. Kontrakt muvofiqligi va sxema-reyestr sozlangan.
2. Expand → Migrate → Contract tavsiflangan va avtomatlashtirilgan.
3. Balance/Ingress blue-green va drenaj birikmalarini qo’llab-quvvatlaydi.
4. SLO-geytlar va avto-qaytish bilan Canary-paypline.
5. Feature-flags va kill-switch 24/7 mavjud.
6. Outbox + CDC va idempotentlik barcha write-yoʻllar uchun yoqilgan.
7. «Salomatlik-reliz» dashbordlari va burn-rate alertlari faol.
8. Aloqalar va deprekeyt siyosati hamkorlarga oldindan eʼlon qilindi.
9. Har haftalik qaytish mashqlari; har chorakda chaos-day.

16) Glossariy

Progressive delivery - xavflar nazorati bilan bosqichma-bosqich fich chiqarish.
Schema registry - muvofiqlik siyosati bilan sxemalar versiyalarini saqlash.
Outbox/CDC - tranzaksiyalardagi voqealarni kafolatlangan nashr qilish namunasi.
Blue-Green - trafikni atom bilan almashtiradigan parallel oqim.
Canary - yangi versiyada trafikning ulushini bosqichma-bosqich oshirish.
Graceful shutdown/draining - aktiv ulanishlarning tugashi.

Xulosa: nol dauntaym - bu bitta hiyla emas, balki tizim: kontraktlar, sxemalarning muvofiqligi, bosqichma-bosqich reliz strategiyalari, kuzatuv, xavfsiz migratsiya va kafolatlangan orqaga qaytish. Ushbu freymvorga amal qilib, ekotizim foydalanuvchilar va hamkorlar uchun tez, oldindan aytib bo’ladigan va og’riqsiz yangilanadi.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Telegram
@Gamble_GC
Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.