GH GambleHub

Downtime olmadan ekosistem yeniləmələri

(Bölmə: Ekosistem və Şəbəkə)

1) Sıfır downtime məqsədi və prinsipləri

Sıfır-downtime yeniləmələri kod, konfiqurasiyalar, məlumat sxemləri və protokollar dəyişdikdə şəbəkə və məhsulların davamlı işləməsini təmin edir. Əsas prinsiplər:
  • Müqavilələrin sərhədlərində irəli/geri uyğunluq (backward/forward).
  • «Böyük keçid» əvəzinə tədricən (progressive delivery).
  • Müşahidə və geri dönüş: metriklər, izlər, sürətli geri dönüş.
  • Şəbəkə və ödəniş axınları üçün idempotentlik və təhlükəsiz retralar.
  • Arıza izolyasiyası: cell-memarlıq, circuit-breakers, fan-out limitləri.

2) Downtime olmadan buraxılış strategiyaları

Blue-Green - iki eyni yığını (Blue = prod, Green = new). Trafik ani geri dönüş imkanı ilə balanslaşdırıcı səviyyəsində atomik olaraq keçir.
Canary - SLO geytləri ilə mərhələli trafik payı (1% → 5% → 20% → 50% → 100%).
Rolling - hazırlıq yoxlaması (readiness) və drenaj bağlantıları ilə hovuzun qovşaq yenilənməsi.
Shadow/Traffic Mirroring - cavablara təsir etmədən yeni versiya üçün sorğuların əks olunması.
Feature Flags - dəyişməz API-nin (gradual rollout) üstündə bir iş dəyişikliyi.
Dark Launch - telemetriya və profilləşdirmə üçün gizli məntiq budaqlarının daxil edilməsi.

Tövsiyə: kritik xidmətlər üçün - canary + rolling + feature flags birləşməsi; şlüzlər və API üçün - mavi-yaşıl qısa keçid.

3) Müqavilə uyğunluğu (API/hadisə/protokol)

API: URI/başlıqlara görə versiya; sahələrin əlavə edilməsi - icazə verilir, silinməsi/adının dəyişdirilməsi - yalnız «deprequit pəncərə» vasitəsilə.
Hadisələr (event-bus): «yalnız əlavə» sahələri; açarları dəyişməz; yeni tiplər - yeni mövzular/versiyalar kimi.
Sxemlər (Avro/JSON-Schema/Protobuf): sxem-reyestr, uyğunluq 'BACKWARD' FULL '.
Şəbəkə protokolu/P2R: version handshake və capability negotiation (düyünlər dəstəklənən versiyalar/fichs elan edir).
Gateways: miqrasiya dövrü üçün vN və vN + 1 (transcoding/field mapping) arasında adapterlər.

Deprekeyt siyasəti (nümunə): elan → ≥ 90 gün xəbərdarlıq → «deprecated» bayraq → sahə/end point aradan qaldırılması.

4) Dayanmadan məlumat miqrasiyası (Expand → Migrate → Contract)

1. Expand - köhnə və yeni formata yeni strukturlar/indekslər/sütunlar (nullable/c defolt), ikiqat yazılar (dual-write) əlavə edin.
2. Migrate - fon miqrasiyası, backfill, sabitlik validatorları; Hər iki sxemi dəstəkləyən adapter vasitəsilə oxu.
3. Contract - köhnə sxemə oxumaq/yazmaq, «deprequit pəncərə» tamamlandıqdan sonra texniki vəzifəni silmək.

SQL (sadələşdirilmiş):
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;

Hadisələrin tranzaksionallığı: Zəmanətli çatdırılma üçün Outbox + CDC istifadə edin.

5) Uzun ömürlü birləşmələr və drenaj

Graceful shutdown: SIGTERM → yeni sorğuların qəbulunu dayandırın → 'readiness = fail' → WebSocket/HTTP2/QUIC-streams drenaj gözləmək → bağlamaq.
Connection draining balanslaşdırıcıda: 'deregister _ delay' 30-120 s, sticky-sessiyalar - IP deyil, tokenlər vasitəsilə.
Back-pressure: p99_latency böyüdükdə yeni axınları məhdudlaşdırın.

6) SDK və müştərilərin versiyalaşdırılması

SDK üçün SemVer; LTS filialı genişləndirilmiş dəstək pəncərəsi ilə (məsələn, 12 ay).
Policy: «ən azı iki aktiv minor versiyası»; versiyalara görə müştərilərin payına telemetriya; avtomatik yeniləmə ehtiyacı barədə xəbərdarlıqlar.
Kritik dəyişikliklər (security): Müddətdən sonra şlüz vasitəsilə köhnə versiyaları söndürmək üçün zorlanmış bayraq.

7) Protokol və şəbəkə qovşaqlarının yenilənməsi

Soft-fork: köhnə düyünləri (capabilities) pozmadan qaydaların genişləndirilməsi.
Hard-fork: əvvəlcədən elan edilmiş pəncərə, ikiqat validasiya, «kanarya validatorları», «reorg/rollback» münaqişələrindən qorunma, aktivləşdirmə üçün vaxt kilidi.
Çapraz zəncirli yeniləmələr: governance körpüləri aktivasiya siqnallarını ötürür; rasinxronizasiya vəziyyətində - yerli circuit-breaker.

8) Konfiqurasiyalar və məlumatlar kimi sirləri

Version, rəqəmsal imzalar və geri dönüş ilə mərkəzləşdirilmiş config-service.
Secrets rotation downtime olmadan: ikiqat açarlar (old/new), növbəli qoşulma; KMS/PKI üçün sıfır fasilələr.
Feature-flags ayrı bir store, daxil/off audit.

9) Pipeline Release və Avtomatik «Geyt»

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

Geyt-stop:
  • Error-budget burn-rate, p95/p99 latency, error-rate, hadisələrin/ödənişlərin success-rate azalması, ölüm-letter növbələrinin artması.
  • Hər hansı bir mərhələdə SLO pozulduqda avtomatik geri dönüş.
Nümunə (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) Buraxılışlar üçün müşahidə və SLO

Açar SLI:
  • p95/p99 latency end-point; error-rate (5xx + ölümcül 4xx); success-rate hadisələr; retrajların payı; növbələrin gecikməsi; P2P-də «relay» payı; versiyalarına görə müştərilərin payı.
SLO (nümunə):
  • p99 API ≤ 400 ms; error-rate ≤ 0. 2%; hadisələrin success-rate ≥ 99. 5%; növbə lag ≤ 2 s; MTTR geri dönüş ≤ 15 dəq.
  • Buraxılış daşbordları: «əvvəl/sonra» müqayisəsi, kanarya qrafları, asılılıq xəritəsi (service map), burn-rate alertləri 1h/6h.

11) Geri çəkilmə və «kill-switch»

Avtomatik geri dönüş: son «yaxşı» artefaktları və konfiqləri saxlayın; Balanslayıcıda «1 düyməli» rollback (Blue ← Green).
Partial rollback: Binarı saxlayarkən ficheflag yeni məntiqi söndürür.
Data rollback: yalnız «read-paths» üçün; «write-paths» üçün - təhlükəsiz miqrasiyalar (pəncərənin sonuna qədər köhnə sütunları heç vaxt silməyin).
Kill-switch: Qeyri-sabit alt sistemi söndürmək üçün mərkəzləşdirilmiş bayraq.

12) Fasiləsiz test

Müştərilərin sabitinə qarşı kontrakt testləri (consumer-driven).
Uyğunluq testi (schema-compat) ilə sxem testləri.
Steycinqdə Chaos testləri:% düyün/bölgələrin sıradan çıxması, DHT/TURN/KMS/DNS deqradasiyası, «retraj fırtınası».
Yük/market testləri: Kanarya bölgələri və «isti» marşrutlar.

13) Kommunikasiya və komplayens qaydaları

Release Notes: dəyişən, təsir, Windows/Deadline Deprequate, tərəfdaşlar üçün fəaliyyət.
SLA hadisə cavabları: MTTA ≤ 5 dəq, ilk yeniləmə statusu ≤ 15 dəq, post-mortem ≤ 72 saat.
İzlərin auditi: bütün -dəyişikliklərin və relizlərin ərizələrə/prouzallara bağlanması, artefaktların imzaları.

14) Xüsusi hallar

Ödəniş/maliyyə axını: ciddi idempotentlik, idempotency-key deadup, outbox + CDC, yalnız «dağıdıcı» miqrasiya.
WebSocket/axınlar: handshake-də protokol versiyası, yekunlaşdırılmış rekonnekt (resume tokens).
Cache/edge: 'stale-while-revalidate', cache ikiqat versiyası, buraxılış dövründə TTL-gigiyena.
Mobil müştərilər: storlarda mərhələli rollout, təhlükəsizlik buraxılışlarında məcburi yeniləmə.

15) Yoxlama siyahısı zero-downtime

1. Müqavilə uyğunluğu və sxem-reyestr konfiqurasiya edilmişdir.
2. Expand → Migrate → Contract təsvir və avtomatlaşdırılmışdır.
3. Balance/Ingress mavi-yaşıl və drenaj birləşmələri dəstəkləyir.
4. SLO geytləri və avtomatik geri çəkilmə ilə Canary-paypline.
5. Feature-flags və kill-switch 24/7 mövcuddur.
6. Outbox + CDC və idempotentlik bütün write yolları üçün daxildir.
7. «Release-health» daşbordları və burn-rate alertləri aktivdir.
8. Rabitə və deprekeyt siyasəti tərəfdaşlara əvvəlcədən elan edilmişdir.
9. Həftəlik geri dönüş məşqi; rüblük chaos-day.

16) Sözlük

Progressive delivery - risklərin nəzarət mərhələli buraxılışı.
Schema registry - uyğunluq siyasətləri ilə sxem versiyalarının anbarı.
Outbox/CDC - əməliyyatlardan hadisələrin zəmanətli yayım şablonu.
Blue-Green - atomik trafik keçid ilə paralel yığınlar.
Canary - yeni versiyada trafikin payının tədricən artırılması.
Graceful shutdown/draining - aktiv əlaqələrin düzgün tamamlanması.

Nəticə: sıfır endirim bir hiylə deyil, bir sistemdir: müqavilələr, sxemlərin uyğunluğu, mərhələli buraxılış strategiyaları, müşahidə, təhlükəsiz miqrasiya və zəmanətli geri dönüş. Bu çərçivədən sonra ekosistem istifadəçilər və tərəfdaşlar üçün tez, proqnozlaşdırıla bilən və ağrısız yenilənir.

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.