GH GambleHub

Rolbeklar va barqarorlikni tiklash

(Bo’lim: Texnologiyalar va infratuzilma)

Qisqacha xulosa

Orqaga qaytish - bu ma’lumotlarni yo’qotish va SLO buzilishi xavfi minimal bo’lgan oxirgi barqaror versiyaga boshqariladigan qaytishdir. Ishonchli jarayon quyidagilarni o’z ichiga oladi: SLO signallari, aniq geytlar va orqaga qaytish mezonlari, almashtirish mexanizmi (GitOps/Ingress/mesh), mos ma’lumotlar sxemasi, izolyatsiyalangan konfigurlar/sirlar/keshlar, runabuk-i va hodisadan keyingi yaxshilash sikli.

1) Qachon haydash (ishga tushirish mezonlari)

SLO/biznes-geytlar: p95/99 chegaradan yuqori, error-rate ↑, to’lovlar/stavkalar konversiyasining pasayishi, PSP taymautlarining o’sishi.
Texnik signallar: podlarni bo’yash, xotiraning chiqib ketishi, navbatlarning o’sishi, tokenlarning degradatsiyasi (LLM), Edge-da 5xx.
Ma’lumotlar xavfi: noto’g "ri migratsiyalar, kelishilmagan replikalar, orfan tranzaksiyalar/to’lovlar.
Xavfsizlik/PII: oqish shubhasi - darhol orqaga qaytish/izolyatsiya qilish.

Qoida: agar chegaradan tashqarida 2 + kalit metrika boʻlsa> N daqiqa - orqaga qaytish boshlanadi.

2) Rolbeklar turlari

1. Ilova: konteyner/paket oldingi tagga qaytishi.
2. Fichlar: feature flag/kill-switch orqali darhol oʻchirish.
3. Marshrut: ogʻirlikni barqaror versiyaga qaytarish (canary → stable) yoki Blue → Green.
4. Ma’lumotlar bazasi: mantiqiy qaytish (kompensatsiya), sxemani bosqichma-bosqich qaytarish; PITR - oxirgi chora.
5. Infratuzilma: manifestlarning/Terraform-rejaning orqaga qaytishi; tarmoq/WAF konfiguratsiyalarini qaytarish.
6. Ma’lumotlar/kesh/navbatlar: xabarlarni tashlash/nogironlashtirish/takrorlash; version keshlari.

3) Xavfsiz orqaga qaytishning arxitektura prinsiplari

Sxemalarning mosligi: expand → migrate → contract strategiyasi (orqaga qaytish expand va contract oʻrtasida mumkin).
Izolyatsiya qilingan qaramliklar: taftishlar uchun alohida sirlar/konfigurlar/keshlar/navbatlar.
Idempotent operatsiyalar: migratsiya va jobni takrorlash xavfsiz.
Artefaktlarning immutabelligi: tasvirlar, chartlar, SQL skriptlari - versiyalangan va imzolangan.
GitOps haqiqat: joriy versiya va marshrutlash manifest-repozitoriyada qayd etilgan.

4) Orqaga qaytish mexanikasi (Kubernetes/GitOps)

Argo Rollouts (ogʻirlikni qaytarish)

yaml apiVersion: argoproj. io/v1alpha1 kind: Rollout metadata: { name: api }
spec:
strategy:
canary:
steps:
- setWeight: 5
- pause: { duration: 10m }
in case of analysis failure → automatic rollback to stable

GitOps-qaytarish (gʻoya)


git revert <commit_with_bad_version>
git push # Argo CD/Flux revert cluster to previous revision

NGINX: stable tezkor svitch

nginx map $cookie_canary $to_canary { default 0; 1 1; }
upstream stable { server api-stable:80; }
upstream canary { server api-canary:80; }
server {
location / {
if ($to_canary) { proxy_pass http://canary; }
proxy_pass http ://stable; # removed canary cookie - instant rollback
}
}

5) DB rolbeki va ma’lumotlarni himoya qilish

Expand → Migrate → Contract:
  • Expand: Yangi maydonlarni/indekslarni qoʻshing, kod eski va yangi sxemani qoʻllab-quvvatlaydi.
  • Migrate: kod yangi sxemaga yozishni boshlaydi, eskisini buzmaymiz.
  • Contract: eskisini faqat barqarorlashgandan keyingina olib tashlaymiz.
  • PITR/snapshotlar: mantiqiy kompensatsiya mumkin boʻlmagandagina foydalaning.
  • Kompensatsiyalar: qo’shimchalar/balanslar/to’lovlarni tuzatish uchun alohida skriptlar/joblar.
  • O’qish-only derazalar: tanqid qilinganda - holatni «muzlatish» uchun yozuvni vaqtincha blokirovka qiling.
Misol (SQL-g’oya, ortiqcha xavfsiz):
sql
-- expand
ALTER TABLE wallet ADD COLUMN bonus_balance NUMERIC DEFAULT 0 NULL;
CREATE INDEX CONCURRENTLY idx_wallet_bonus ON wallet(bonus_balance);

-- migrate in code, two-sided write
-- contract (after stabilization)
ALTER TABLE wallet DROP COLUMN legacy_bonus_balance;

6) Qaytishdagi navbatlar va keshlar

Version kesh: prefiksli kalitlar (’v2:’) → xavfsiz birga yashash.
Nogironlik: qaytishda - ommaviy tozalash’v2:’, qaytarish’v1:’.
Navbatlar: versiya bo’yicha partiyalar/topiklar; «nazorat nuqtasidan» xabarlarni takrorlash.
Dedublikatsiya/idempotentlik: dublsiz qayta ishlash uchun idempotentlik kalitlari.

7) SLO-geytlar va avto-qaytishlar

Metriklar: p95/99, error-rate, saturations (CPU/IO/GPU), queue depth, tokenlar/sek, to’lovlar konvertatsiyasi.

Siyosat (misol):

if p95_latency_ms > 250 for 5m OR error_rate > 1. 5% for 3m OR payment_conv < baseline-0. 3%
then rollback release && open incident && freeze deploys

8) Runabuki (playbooks)

A) Chiqarilgandan keyingi o’sish p99 va 5xx

1. Stop promote (canary/blue-green ni muzlatish).
2. Barqaror taftish uchun Switch traffic.
3. Kesh/navbat/PSP kechikishlarini tekshirish.
4. Diagnostikani olib tashlash: loglar, profillar, mijozlar/sxemalar versiyasi.
5. Aloqa: ChatOps, status-kanal, hodisa-kartochka.
6. Tuzatish harakatini boshlash: patch/issiq fiks/chichni bekor qilish.

B) DB migratsiyasida xatolik

1. Freeze writes (read-only, qisqacha).
2. Ilovaning qaytishi → barqaror versiya (eski sxema bilan mos keladi).
3. Kompensatsiya/rollback skriptini bajarish.
4. Yozuvni muzlatish; dreyf/xatolarni kuzatish.

C) To’lovlarning degradatsiyasi (PSP)

1. PSP yoʻnalishini oldingi yoʻnalishga oʻtish.
2. Protsessing relizining qaytishi.
3. Tugallanmagan barcha to’lovlarni solishtirish, idempotent kalitlar bilan takrorlash.

D) LLM/tavsiyalar degradatsiya

1. Yangi model/parametrlarni oʻchirish (feature flag).
2. Oldingi endpoint/ogʻirlikni qaytarish; yangi taftish KV keshini tozalash.
3. Tokens/s, birinchi token latency, toksikligini tekshirish.

9) Kommunikatsiyalar va relizlarni muzlatish

Freeze window: qaytishdan keyin - RCA/fixgacha relizlar pauzasi.
Yagona kanal: maqom-yangiliklar, harakatlar xronologiyasi, kim nima qilgan.
Steykxolderlar: mahsulot/CS/to’lovlar/yuristlar (PII da).

10) Post-hodisa: tahlil va profilaktika

RCA (ayblovlarsiz): asosiy sabab, nega geytlar ishlamaganligi (agar ishlamasa) omillarining hissasi.
Harakatlari: migratsiya testlari, limitlar, ficheflag-geytlar, kuzatish.
SLO chegarasi: agar juda «yumshoq «/» qattiq »bo’lsa tuzatish.
Hujjatlar: runabuklarni yangilash, alertlar, mashg’ulotlar (game-day) qo’shish.

11) Asboblar va shablonlar

GitOps: Argo CD/Flux -’revert ’/’ rollback’commita versiyasi.
Progressive delivery: Argo Rollouts/Flagger - metriklar bo’yicha to’xtash/orqaga qaytish.
Edge/Ingress: og’irlik yo’nalishi, cookie-routing, tezkor svitch.
Feature flags: fractional rollout, kill-switch.
DB migratsiyasi: up/down, dry-run, throttling.
Observability: tayyor dashbordlar «release compare» (stable vs canary).

12) Qaytarishga tayyorlik chek-varaqasi

1. Version qilingan va imzolangan artefaktlar (tasvirlar/chartlar/SQL).
2. Ikki relsli konfiglar/sirlar/keshlar/navbatlar (versiya prefikslari).
3. expand → migrate → contract.
4. SLO-geytlari va avto-skatlari bilan kanar va ko’k-yashil relizlar.
5. Asosiy stsenariylarga Runabuki (to’lovlar/BD/kesh/LLM).
6. ChatOps tugmalari: ’/rollback’, ’/freeze’, ’/promote’.
7. Audit va logografiya: kim, qachon, nima orqaga siljidi; diagnostika artefaktlari.
8. Game-day mashqlari: muvaffaqiyatsizliklar va tiklanishlarni taqlid qilish.
9. Biznes va sapport bilan kommunikatsiyalar rejasi.
10. Bitta ekranda taqqoslash metrikasi (stable vs new).

13) Anti-patternlar

Kod yoyilgunga qadar buzuvchi migratsiyalar (teskari moslashuv yoʻq).
Versiyasiz umumiy kesh/navbatlar → «iflos» qaytarish.
GitOps/o’zgarishlar tarixi yo’qligi → «qo’lda» tahrirlash.
Geytsiz/telemetriyasiz kanar relizi → keyinchalik aniqlash.
Freeze va RCA’siz qaytish → hodisaning takrorlanishi.
Biznes-metriksiz faqat texnometrik monitoring (to’lovlar/stavkalar).
Barcha taftishlar uchun «umumiy sirlar» → hodisani ajratish qiyin.

Yakunlar

Ishonchli rolbek - bu «stop-kran» emas, balki relizlarga o’rnatilgan jarayon: versiya va mos kelish, izolyatsiya qilingan qaramliklar, SLO-geytlar, GitOps-reallik, avtomatik qaytarmalar va aniq runabuklar. Bunday yondashuv iGaming platformalariga tezda barqarorlikni qaytarish, maʼlumotlar va daromad yoʻqotishlarini minimallashtirish va har bir hodisani yaxshilash manbaiga aylantirish imkonini beradi.

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.