GH GambleHub

High Availability и SLA

High Availability и SLA

1) Terminlər və biznes əlaqələri

SLI (Service Level Indicator) - xidmət göstəricisi (məsələn, 2xx/3xx ≤ T ms uğurlu sorğuların payı).
SLO (Service Level Objective) - SLI-nin hədəf dəyəri (məsələn, "99. 95% sorğu ≤ 300 ms").
SLA (Service Level Agreement) - müştəri qarşısında müqavilə öhdəliyi (pozulduqda cərimələr/kreditlər).
HA (High Availability) - SLO/SLA-nın yerinə yetirilməsinə imkan verən memarlıq və əməliyyat tədbirləri.

Prinsip: SLA SLO-ya, SLO isə müşahidə olunan SLI-ə əsaslanır. SLA-da ölçmədiyinizi vəd edə bilməzsiniz.

2) «Doqquzlar» və əlçatanlıq riyaziyyatı

Dövr üçün əlçatanlıq = 'iş vaxtı/ümumi _ vaxt'. Göstəricilər (il üçün):
MövcudluqMaks. sadə/il
99. 0%≈ 3 gün 15 saat
99. 5%≈ 1 gün 20 saat
99. 9%≈ 8 saat 45 m
99. 95%≈ 4 saat 23 m
99. 99%≈ 52 m 34 s
99. 999%≈ 5 m 15 s

Mövcud kompozisiya

Ardıcıl zəncir («qırmızı yol» asılılığı): 'A _ total = Π A_i' (hər bir komponent nəticəni azaldır).
Paralel aktiv-aktiv qovşaqları: 'A _ total = 1 − Π (1 − A_i)' (ehtiyat cəmini artırır).

3) Dəqiq nə ölçmək lazımdır (düzgün SLI)

İstifadəçi baxışı: əsas əməliyyatların müvəffəqiyyətlə tamamlanması (login, depozit, çek) və onların gecikməsi p99.
Saat dəhlizi: sürüşmə pəncərələri (5/30/60 dəq) və bölgələr üzrə yığın.
İstisnalar: «planlaşdırılan pəncərələr» SLO-da, SLA-da isə yalnız müqavilədə deyildikdə nəzərə alınır.

SLI növləri:
  • Əlçatanlıq: uğurlu cavabların payı ≤ T.
  • Keyfiyyət: p95/p99 latency.
  • Kompozit: «uğurlu depozitlərin payı ≤ 5 s».

4) Error Budget və yanma sürəti

Error Budget = `1 − SLO`. 99 üçün. 95% aylıq pəncərə 0 verir. 05% səhv/fasilə.
Burn-rate: büdcə xərclərinin sürəti (məsələn, 4 × 6 saat ərzində gündəlik limiti yeyirsiniz deməkdir).
Siyasət: sürətli yanma ilə - buraxılışları dayandırın, sabitləşməyə diqqət yetirin, feature-freeze.

5) HA arxitekturası: qovşaqdan bölgəyə

5. 1 Qovşaq/Xidmət

N + 1: ən azı bir artıq replika (Deployment ≥ 2, PDB, anti-affinity).
Resursların təcrid olunması: CPU/RAM/İO limitləri, prioritetlər (PriorityClass).
Graceful shutdown/drain: restart zamanı sorğuların qırılması.

5. 2 Zona/region

Multi-AZ: müxtəlif zonalarda replikalar, xaç-zona balansı, müstəqil güc/şəbəkə.
Multi-region: aktiv-aktiv (daha çətin: məlumat/sabitlik) və ya aktiv-passiv (daha sadə: RPO yuxarıda).
Məlumat: Pul/Sifarişlər üçün CP (Kvorum/RAFT), Cash/Vitrinlər üçün EC/AP.

5. 3 Şəbəkə təbəqəsi və perimetri

L7-LB с health-checks, retry/timeout/circuit-breaking.
qlobal trafik üçün GSLB/DNS/Anycast, qısa TTL.
Egress-control və xarici PSP/provayderlərə çatmaz kanallar.

6) Yıxılma əvəzinə deqradasiya

Feature kill-switch (ficha-bayraqlar): kritik olmayan söndürmək, «qırmızı yol» saxlamaq.
Sadələşdirilmiş yollara keçid: sinxron → asinxron/növbə, «emala qəbul edildi».
Rate-limit/kvotalar: Hamını endirməkdənsə, trafiki məhdudlaşdırmaq daha yaxşıdır.
Stale rejimləri: origin əlçatmazlığında cache/statik məlumat vermək.

7) Asılılığın idarə edilməsi

Asılılıq kartı (service map): birbaşa/transitiv, kritik, hər birinin SLO.
Həssas bağlantılar: SLA olmadan xarici provayder - cache/növbə/dublikat çevrilir.
Bulkhead-izolyasiya: yavaş marşrutlar üçün müxtəlif qoşulma hovuzları/kvotalar.
Timeouts> Retries: qısa vaxtlar, idempotent əməliyyatlar üçün maksimum 1 retraj.

8) Əməliyyatlar və dəyişikliklər

Change management: kanaryalar/mavi-yaşıl, SLO geytaları, avtomatik geri dönüş vasitəsilə buraxılışlar.
Planlaşdırılan pəncərələr: standartlaşdırın - uzunluq, dövrilik, rabitə.
Hadisələr: rolları (IC/Comms/Tech/DB), runbook 'i, düzəliş hərəkətləri ilə postmortems.
Təhlükəsizlik tədbirləri: güzəşt zamanı - «panika rejimi» (read-only/tokenlər/rotasiya/bloklama).

9) Müşahidə və alertinq

Hər marşrutda RED modeli (Rate, Errors, Duration).
SLI daşbordları: bölgə və müştəri seqmenti üzrə əlçatanlıq/gizlilik.
Burn-rate alert: sürətli (1h, 14. 4 ×), yavaş (6h, 2 ×) - SLO-nun pozulmasına qədər siqnal.
Nüsxələr (Exemplars): metriklərdən trace_id yollarına keçid.
Sintetika: xarici nöqtələrdən nümunələr (perimetr, ödəniş floları).

10) Uğursuzluq testləri

Game-days: AZ/regionların bağlanması, DB/cache deqradasiyası, xarici provayderlərin uğursuzluğu.
Chaos alətləri: şəbəkə foltları (latency/loss), kill-pods, CPU/IO həddindən artıq yükləmə.
DR-drills: Tier-0 sistemləri üçün RTO/RPO emalı (bax: «Backup & DR»).

11) SLA dizayn

«Əlçatanlıq» tərifi: hadisə hesab olunur (5xx, vaxt> T, domen səhvləri).
Hesablama pəncərəsi: ay/rüb; planlaşdırılan işlərin daxil edilməsi/istisna edilməsi.
Kreditlər/cərimələr: şkalası (məs., 99. 9–99. 99% - X%, aşağıda - Y%).
Müştərinin vəzifələri: inteqrasiya, retralar, limitlər.
Notifikasiya və iqlim proseduru: vaxt, format, sübut bazası (loqi/metrika).
Fors-major: hüquqi ifadə və sərhədlər.

Nümunə (eskiz):
  • "SLI üçün API əlçatanlığı "uğurlu ≤ 500 ms" 99-dan az deyil. təqvim ayında 95%. Planlaşdırılan pəncərələr (48 saat ərzində elan edilmiş 60 dəq/ay qədər) istisna edilir. 99. 90–99. 95% - 5% kredit; 99. 80–99. 90% — 10%; <99. 80% — 25%.»

12) Doqquzların iqtisadiyyatı

Hər əlavə «doqquz» xətti olmayan xərcləri artırır (ikili regionlar, kvorumlar, provayderlərin dublları, 24 × 7). Tiering SLO tətbiq edin:
  • Tier-0 (pul/sifariş): 99. 95–99. 99%, multi-AZ, DR hazırdır.
  • Tier-1 (əsas fiqurlar): 99. 9–99. 95%, multi-AZ.
  • Tier-2 (kritik deyil): 99. 5–99. 9%, hadisə zamanı deqradasiya/stop icazə verilir.

13) Qat üzrə HA nümunələri

Perimetri: CDN/edge, multi-CDN və ya GSLB, WAF, rate-limit.
Balans: L7 outlier-ejection, taymaut/retray, sticky/consistent-hash ilə.
Proqramlar: üfüqi skeyl, readiness/liveness, PDB, topology spread.
Məlumat: leader + replicas, CP üçün quorum, L2 cache, idempotency, PITR.
Növbələr: güzgü/multiklaster, dedup, DLQ.
Sirləri/konfiqləri: GitOps, atom snapshots, rollback.

14) Anti-nümunələr

Ölçmə alətləri və xarici sintetika olmadan SLA.
SPOF kimi vahid zona/klaster.
Nəzarətsiz retralar → «öz-DDoS».
İsti yolda uzun əməliyyatlar/mutekslər.
Kanaryalar və geri dönüş planı olmadan «ağır» miqrasiya/buraxılışlar.
Runbook və hadisə stakholders ilə ünsiyyət yoxdur.

15) Giriş çek siyahısı (0-60 gün)

0-15 gün

Kritik xüsusi SLI müəyyən, Tier-0/1/2 səviyyələrinə görə SLO təyin.
Burn-rate alertləri, SLO-daşbordları, sintetik perimetr yoxlamalarını daxil edin.
SPOF-u çıxarın: ≥ 2 replika, PDB, cəbhələr və kritik DB üçün multi-AZ.

16-40 gün

SLO-geytinq və avtomatik geri çəkilmə ilə kanarya relizlərini daxil edin.
Asılılıq kartı + hər «qırmızı yol» üzrə kvota/hovuz/taymaut/SV.
Planlaşdırılmış pəncərələrin və kommunikasiyaların tənzimlənməsi, hadisə mesajlarının şablonları.

41-60 gün

Game-day: AZ-ın bağlanması, xarici provayderin uğursuzluğu, trafikin «burstu».
Faktiki olaraq SLA və kreditlərin yenidən hesablanması, müştərilərə hesabatların dərc edilməsi.
«Doqquz dəyər» yenidən baxın və tire üzərində köçürün.

16) Yetkinlik metrikası

≥ 95% kritik marşrutların SLI/SLO və burn-rate riskləri var.
SLO səhvləri relizlərin avtomatik dondurulması ilə müşayiət olunur (policy).
Multi-AZ əhatə Tier-0 = 100%, uğurlu DR-drills ≥ 1/rüb.
«Detection → mitigation» vaxtı p50 <5 dəq, p95 <15 dəq.
Korrelyasiya «release insidentlər» - davam və azalır (rollback rate ↓).
Hadisələrin/kreditlərin ictimai hesabatı - N iş günü ərzində.

17) Nümunələr və snippetlər

Burn-rate həyəcan (qaydalar ideyası):
  • Sürətli: "SLO 99. 95%, pəncərə 1 saat, burn ≥ 14. 4× → page on-call».
  • Yavaş: «pəncərə 6 saat, burn ≥ 2 × → ticket & monitorinq».
Envoy — circuit breaking/outlier:
yaml circuit_breakers:
thresholds:
- max_connections: 200 max_pending_requests: 100 max_requests: 1000 max_retries: 1 outlier_detection:
consecutive_5xx: 5 interval: 5s base_ejection_time: 30s max_ejection_percent: 50
SLO analizi ilə kanarya (Argo Rollouts, ideya):
yaml analysis:
templates:
- name: slo-burn metrics:
- name: error-rate successCondition: result < 0. 005 provider: prometheus
SLI formulu nümunəsi:

SLI: fraction_of_good_requests = good(HTTP 2xx/3xx ≤ 500ms) / all(requests)
SLO: ≥ 99. 95% per calendar month, per region

18) Nəticə

High Availability yalnız klasterlər və replikalar deyil, arxitektura, proseslər və metriklərin razılaşdırılmış dəsti: aydın SLI/SLO, real SLA, iqtisadiyyatla «doqquzlar», yıxılmaq əvəzinə deqradasiya, vaxt/kvota nizam-intizamı, kanarya buraxılışları, müntəzəm təlimlər və şəffaf kommunikasiyalar. Əlçatanlığı ölçülə bilən və idarə edilə bilən edin və bu, lotereya deyil, rəqabət üstünlüyü olacaq.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

Telegram
@Gamble_GC
İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.