Kesinti olmadan ekosistem güncellemeleri
(Bölüm: Ekosistem ve Ağ)
1) Sıfır kesinti süresi amacı ve ilkeleri
Sıfır kesinti süresi güncellemeleri, kod, yapılandırmalar, veri şemaları ve protokollerdeki değişiklikler sırasında ağın ve ürünlerin sürekli çalışmasını sağlar. Temel prensipler:- Sözleşme sınırlarında geriye/ileriye uyumluluk.
- "Büyük anahtar" yerine aşamalı teslimat.
- Gözlemlenebilirlik ve tersine çevrilebilirlik: metrikler, izler, hızlı geri dönüş.
- Ağ ve ödeme akışları için idempotency ve güvenli geri çekilmeler.
- Arıza izolasyonu: hücre mimarisi, devre kesiciler, fan çıkışı sınırları.
2) Kesinti süresiz sürüm stratejileri
Mavi-Yeşil - iki özdeş yığın (Mavi = prod, Yeşil = yeni). Trafik, anında geri dönüş imkanı ile dengeleyici seviyesinde atomik olarak değiştirilir.
Kanarya - SLO kapıları ile aşamalı trafik payı (%1 - %5 - %20 - %50 - %100).
Rolling - hazırlık kontrolü ve bağlantı drenajı ile düğüm düğüm havuz güncellemesi.
Gölge/Trafik Yansıtma - yanıtları etkilemeden yeni bir sürüm için ayna istekleri.
Feature Flags (Özellik Bayrakları) - değişmeyen bir API üzerinden özelliklerin iş değiştirmesi (kademeli olarak kullanıma sunulması).
Karanlık Başlatma - Telemetri ve profil oluşturma için gizli mantık dallarını etkinleştirin.
Öneri: kritik hizmetler için - kanarya + yuvarlanma + özellik bayraklarının bir kombinasyonu; Ağ geçitleri ve API'ler için - kısa geçişli mavi-yeşil.
3) Sözleşme uyumluluğu (API/etkinlikler/protokol)
API: URI/başlıklar tarafından sürüm oluşturma; Alan ekleme - geçerli, silme/yeniden adlandırma - yalnızca "kullanımdan kaldırma penceresi" aracılığıyla.
Olaylar (event-bus): "Sadece ekleme" alanları; Anahtarlar değişmezdir; Yeni türler - yeni temalar/sürümler olarak.
Schemas (Avro/JSON-Schema/Protobuf): kayıt şeması, BACKWARD 'FULL' uyumluluğu.
Ağ protocol/P2P: sürüm el sıkışma ve yetenek anlaşması (düğümler desteklenen sürümleri/özellikleri bildirir).
Ağ geçitleri: Geçiş dönemi için vN ve vN + 1 (kod dönüştürme/alan eşleme) arasındaki adaptörler.
Amortisman politikası (örnek): duyuru - ≥90 günlük uyarı - "kullanımdan kaldırıldı" onay kutusu - alanın/uç noktanın silinmesi.
4) Genişlet> Migrate> Contract
1. Genişletin - eski ve yeni formatlara yeni yapılar/dizinler/sütunlar (geçersiz/varsayılan), çift yazma (çift yazma) ekleyin.
2. Migrate - arka plan geçişleri, dolgu, tutarlılık doğrulayıcıları; Her iki şemayı da destekleyen bir adaptör aracılığıyla okuyun.
3. Sözleşme - eski şemaya okuma/yazmayı devre dışı bırakın, "kullanım dışı bırakma penceresini" tamamladıktan sonra teknik borcu kaldırın.
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;
Olay işlemsellik: Garantili teslimat için Outbox (olay kaydı ile işlem) + CDC kullanın.
5) Uzun ömürlü bağlantılar ve drenaj
Zarif kapatma: SIGTERM - yeni istekleri kabul etmeyi bırakın - 'hazırlık = başarısız' ayarını yapın - WebSocket/HTTP2/QUIC akışlarının boşalmasını bekleyin - kapanır.
Dengeleyici üzerindeki bağlantı boşaltma: 'deregister _ delay' 30-120 s, yapışkan oturumlar - IP üzerinden değil belirteçler aracılığıyla.
Geri basınç: Yeni yukarı akış p99_latency sınırlayın.
6) SDK ve İstemci Sürümleri
SDK için SemVer; Genişletilmiş destek penceresine sahip LTS şubesi (örn. 12 ay).
Politika: 'en az iki aktif küçük versiyon "; Versiyona göre müşteri başına telemetri; Otomatik yükseltme uyarıları
Kritik değişiklikler (güvenlik): Son tarihten sonra ağ geçidi üzerinden eski sürümleri devre dışı bırakmanın zorunlu bayrağı.
7) Protokollerin ve ağ düğümlerinin güncellemeleri
Soft-fork: Eski düğümleri (yetenekleri) ihlal etmeden kuralları genişletmek.
Hard-fork: Önceden duyurulmuş pencere, çift doğrulama, "kanarya doğrulayıcılar", "reorg/rollback" çatışmalarına karşı koruma, etkinleştirme için zaman kilidi.
Çapraz zincir güncellemeleri: yönetişim köprüleri aktivasyon sinyallerini iletir; yanlış hizalama durumunda - yerel devre kesici.
8) Veri olarak yapılandırmalar ve sırlar
Sürüm oluşturma, dijital imzalar ve geri alma ile merkezi yapılandırma hizmeti.
Kesinti olmadan sırlar rotasyonu: çift anahtarlar (eski/yeni), alternatif dahil; KMS/PKI için sıfır kesinti süresi.
Ayrı bir satırda özellik bayrakları, açma/kapama denetimi.
9) Boru hattı serbest bırakma ve otomatik "kapılar"
Стадии: build? Unit? Security Scan? E2e/Stage? Shadow? Canary? %100.
Gates-durakları:- Hata bütçesi yakma oranı, p95/p99 gecikme süresi, hata oranı, başarı oranı olaylarında/ödemelerinde azalma, ölü harf kuyruklarının büyümesi.
- Herhangi bir aşamada SLO ihlali durumunda otomatik geri alma.
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) Sürümler için gözlemlenebilirlik ve SLO
Anahtar SLI'lar:- Uç noktalara göre p95/p99 gecikme; Hata oranı (5xx + fatal 4xx); Başarı oranlı etkinlikler; Retrays oranı; Kuyruk gecikmesi; P2P'de "röle" payı; Versiyonlara göre müşteri paylaşımı.
- P99 API ≤ 400 ms; Hata oranı ≤ 0. 2%; Başarı oranlı olaylar ≥ 99. 5%; Kuyruk gecikmesi ≤ 2 s; Geri alma MTTR ≤ 15 dk.
- Serbest bırakma panoları: karşılaştırmadan önce/sonra, kanarya grafikleri, bağımlılık haritası (hizmet haritası), yanma oranı uyarıları 1h/6h.
11) Geri dönüşler ve kill-switch
Otomatik geri alma: en son'iyi "eserleri ve yapılandırmaları saklayın; Dengeleyicide "1 düğmeli" geri alma (Blue←Green).
Kısmi geri alma: Phicheflag, ikiliyi kaydederken yeni mantığı kapatır.
Veri geri alma: yalnızca "okuma yolları" için; yazma yolları için - korumalı geçişler (pencerenin sonuna kadar eski sütunları asla silmeyin).
Kill-switch: Kararsız alt sistemi devre dışı bırakmak için merkezi bayrak.
12) Kesinti olmadan test etme
Müşteri stabilizasyonuna karşı sözleşme testleri (tüketici odaklı).
Şema-compat testleri.
Evrelemede kaos testleri: düğümlerin/bölgelerin %'sinin başarısızlığı, DHT/TURN/KMS/DNS'nin bozulması, "yeniden fırtına".
Yükleme/yeniden pazarlama testleri: kanarya bölgeleri ve sıcak rotalar.
13) İletişim ve Uyum Prosedürleri
Sürüm notları: hangi değişiklikler, etkiler, kullanımdan kaldırılma pencereleri/son tarihleri, ortaklar için eylemler.
Olay yanıtlarının SLA'sı: MTTA ≤ 5 dakika, ilk durum güncellemesi ≤ 15 dakika, ölüm sonrası ≤ 72 saat.
İzleme denetimi: tüm yapılandırma değişikliklerini ve sürümlerini uygulamalara/sitelere, eser imzalarına bağlama.
14) Özel durumlar
Ödeme/finansal akışlar: sıkı idempotency, idempotency-key'e göre dedup, outbox + CDC, sadece "tahribatsız" geçişler.
WebSocket/akışlar: el sıkışmada protokol sürümü, özet ile yeniden bağlanın (özgeçmiş belirteçleri).
Önbellek/kenar: 'bayat-while-revalidate', çift önbellek sürümleri, yayın süresi boyunca TTL hijyeni.
Mobil istemciler: sektörlerde aşamalı kullanıma sunma, güvenlik sürümlerinde zorunlu güncelleme.
15) Sıfır kesinti kontrol listesi
1. Sözleşme uyumluluğu ve kayıt şeması yapılandırılmıştır.
2. Expand> Migrate> Contract tanımlanır ve otomatikleştirilir.
3. Denge/Giriş mavi-yeşil ve bağlantı drenajını destekler.
4. Kanarya-boru hattı SLO-kapıları ve otomatik geri alma ile.
5. Özellik bayrakları ve kill-switch 7/24 mevcuttur.
6. Outbox + CDC ve idempotency tüm yazma yolları için etkinleştirilmiştir.
7. Release-health panoları ve burn-rate uyarıları etkindir.
8. Ortaklara önceden duyurulan iletişim ve amortisman politikası.
9. Haftalık prova geri dönüşü; Üç aylık kaos günü.
16) Sözlük
Aşamalı teslimat - risk kontrolü ile özelliklerin aşamalı olarak serbest bırakılması.
Şema kaydı - uyumluluk ilkelerine sahip şema sürümlerinin bir deposu.
Outbox/CDC - işlemlerden olayların garantili yayınlanması için bir şablon.
Mavi-Yeşil - atomik trafik anahtarlama ile paralel yığınları.
Kanarya - yavaş yavaş yeni sürümde trafik payını artırarak.
Zarif kapatma/drenaj - aktif bağlantıların doğru şekilde sonlandırılması.
Alt satır: sıfır kesinti süresi bir hile değil, bir sistemdir: sözleşmeler, şema uyumluluğu, aşamalı serbest bırakma stratejileri, gözlemlenebilirlik, güvenli geçişler ve garantili geri dönüşler. Bu çerçeveyi takiben, ekosistem kullanıcılar ve ortaklar için hızlı, öngörülebilir ve ağrısız bir şekilde güncellenir.