Yüksek Kullanılabilirlik и SLA
Yüksek Kullanılabilirlik и SLA
1) Şartlar ve işle bağlantı
SLI (Hizmet Seviyesi Göstergesi) - ölçülen hizmet göstergesi (örneğin, başarılı taleplerin oranı 2xx/3xx ≤ T ms).
SLO (Hizmet Seviyesi Hedefi) - hedef SLI değeri (örn. "99. Taleplerin %95'i ≤ 300 ms").
SLA (Hizmet Seviyesi Sözleşmesi) - müşteriye karşı sözleşme yükümlülüğü (ihlal durumunda para cezaları/krediler).
HA (Yüksek Kullanılabilirlik) - SLO/SLA gerçekleştirmenizi sağlayan mimari ve operasyonel önlemler.
İlke: SLA, SLO'ya dayanır ve SLO, gözlemlenen SLI'lara dayanır. SLA'da ölçmediğiniz şeyi vaat edemezsiniz.
2) "Dokuzlar've erişilebilirlik matematiği
Dönem başına kullanılabilirlik = 'work _ time/total _ time'. Kriterler (yıllık):Kullanılabilirlik bileşimi
Sıralı zincir (kırmızı yol bağımlılıkları): 'A _ total = Π A_i' (her bileşen toplamı azaltır).
Paralel varlık düğümleri: 'A _ total = 1 − Π (1 − A_i)' (rezerv toplamı artırır).
3) Tam olarak neyin ölçüleceği (doğru SLI)
Kullanıcı görünümü: anahtar işlemlerin başarılı bir şekilde tamamlanması (giriş, para yatırma, çıkış) ve gecikme süreleri p99.
Zaman koridoru: Sürgülü pencereler (5/30/60 dakika) ve bölgeye göre toplanır.
İstisnalar: "Zamanlanmış pencereler" SLO'larda ve SLA'larda yalnızca sözleşme öyle diyorsa sayılır.
- Kullanılabilirlik: başarı oranı ≤ T.
- Kalite: p95/p99 gecikme.
- Kompozit: "5 sn ≤ başarılı mevduat payı".
4) Hata Bütçesi ve yanma oranı
Hata Bütçesi = '1 − SLO'. 99 için. %95 aylık pencere 0 verir. %05 hata/kesinti süresi.
Yanma oranı: bütçe tüketiminin hızı (örn. 4 ×, 6 saat içinde günlük limiti yediğiniz anlamına gelir).
Politika: hızlı yanma ile - durdurma bültenleri, stabilizasyona odaklanma, özellik dondurma.
5) HA Mimarisi: Bölgeye Düğüm
5. 1 Düğüm/Hizmet
N + 1: en az bir yedekli çoğaltma (Dağıtım ≥ 2, PDB, anti-afinite).
Kaynak yalıtımı: CPU/RAM/IO sınırları, öncelikler (PriorityClass).
Zarif kapatma/boşaltma: yeniden başlatıldığında istek molası yok.
5. 2 Bölge/Bölge
Multi-AZ: Farklı bölgelerdeki kopyalar, bölgeler arası dengeleme, bağımsız güç/ağ.
Çok bölgeli: varlık-varlık (daha zor: veri/tutarlılık) veya varlık-borç (daha basit: yukarıda RPO).
Veri: Para/emirler için CP (quorum/RAFT), önbellekler/vitrinler için EC/AP.
5. 3 Ağ katmanı ve çevresi
L7-LB с sağlık kontrolleri, yeniden deneme/zaman aşımı/devre kesme.
Global trafik için GSLB/DNS/Anycast, kısa TTL.
Harici PSP/sağlayıcılara çıkış kontrolü ve hataya dayanıklı kanallar.
6) Düşmek yerine bozulma
Özellik kill-switch (özellik bayrakları): kritik olmayanları kapatın, "kırmızı yolu" kaydedin.
Basitleştirilmiş yollara geçiş: senkron - asenkron/kuyruk, "işlem için kabul edildi".
Hız sınırı/kotalar: Trafiği sınırlamak, herkesi düşürmekten daha iyidir.
Bayat modlar: kaynak kullanılamadığında önbellek/statik veri verir.
7) Kısıtlama yönetimi
Hizmet haritası: doğrudan/geçişli, kritiklik, her birinin SLO'su.
Savunmasız bağlantılar: SLA içermeyen harici sağlayıcı - bir önbelleğe/kuyruğa/çoğaltmaya dönüşür.
Bulkhead izolasyonu: Yavaş rotalar için farklı bağlantı havuzları/kotaları.
Zaman aşımları> Yeniden denemeler: kısa zaman aşımları, idempotent işlemler için maksimum 1 yeniden ödeme.
8) İşlemler ve değişiklikler
Değişim yönetimi: kanaryalar/mavi-yeşil, SLO kapıları, otomatik geri alma yoluyla yayınlar.
Zamanlanmış pencereler: standardize - uzunluk, frekans, iletişim.
Olaylar: roller (IC/Comms/Tech/DB), runbook've, düzeltici eylemler ile post-mortems.
Güvenlik olayları: tehlikeye atılırsa, "panik modu" (salt okunur/belirteçler/rotasyon/engelleme).
9) Gözlemlenebilirlik ve uyarı
Her rota için RED modeli (Oran, Hatalar, Süre).
SLI panoları: Bölgeye ve müşteri segmentine göre kullanılabilirlik/gecikme.
Yanma oranı uyarıları: hızlı (1h, 14. 4 ×), yavaş (6h, 2 ×) - SLO arızasından önce sinyal.
Exemplars-Metriklerden trace_id hizalamalara geçiş yapar.
Sentetikler: Harici noktalardan örnekler (çevre, ödeme akışı).
10) Hata tolerans testleri
Oyun günleri: AZ/bölgeleri devre dışı bırakma senaryoları, veritabanı/önbellek bozulması, dış sağlayıcıların başarısızlığı.
Kaos araçları: ağ kıvrımları (gecikme/kayıp), kill-pod'lar, CPU/IO aşırı yüklemesi.
DR-matkaplar: Tier-0 sistemler için RTO/RPO'nun geliştirilmesi (bkz. "Yedeklemeler ve DR").
11) SLA Tasarımı
"Kullanılabilirlik" tanımı: bir olay olarak sayılır (5xx, zaman> T, etki alanı hataları).
Hesaplama penceresi: ay/çeyrek; Planlanan faaliyetlerin dahil edilmesi/dışlanması.
Krediler/cezalar: ölçek (örn. 99. 9–99. 99 % - X %, daha düşük - Y %).
Müşteri sorumlulukları: entegrasyon, makul sınırlar içinde geri çekilme, sınırlar.
Bildirimler ve klişelerin prosedürü: terimler, format, kanıt tabanı (günlükler/metrikler).
Mücbir sebep: yasal ifadeler ve sınırlar.
- "SLI tarafından API kullanılabilirliği" 500 ms ≤ başarılı'en az 99'dur. Takvim ayı başına %95. Zamanlanmış pencereler (48 saat içinde duyurulan ayda 60 dakikaya kadar) hariç tutulur. 99 yaşında. 90–99. %95 - kredi %5; 99. 80–99. 90% — 10%; <99. 80% — 25%.»
12) Dokuzlar ekonomisi
Her bir ilave "dokuz", maliyetleri doğrusal değil artırır (çift bölgeler, kuorlar, sağlayıcıların kopyaları, 7 × 24). Katmanlama SLO kullanın:- Tier-0 (para/emir): 99. 95–99. %99, multi-AZ, DR hazır.
- Tier-1 (temel özellikler): 99. 9–99. %95, multi-AZ.
- Tier-2 (kritik olmayan): 99. 5–99. %9, bozulma/durma olayları için izin verilir.
13) Katmanlara göre HA desenleri
Çevre: CDN/kenar, çoklu CDN veya GSLB, WAF, hız sınırı.
Dengeleme: L7, outlier-ejection, timeouts/retrays, yapışkan/tutarlı-hash ile.
Uygulamalar: yatay ölçek, hazır olma/yaşanabilirlik, PDB, topoloji yayılımı.
Veri: leader + replicas, CP için yeterli çoğunluk, L2 önbellek, idempotency, PITR.
Kuyruklar: yansıtma/multicluster, dedup, DLQ.
Sırlar/yapılandırmalar: GitOps, atomik anlık görüntüler, geri alma.
14) Anti-desenler
Ölçüm aletleri ve dış sentetikler olmadan SLA.
SPOF olarak tek bölge/küme.
Kontrolsüz retrays - "kendi kendine DDoS".
Sıcak yolda uzun işlemler/muteksler.
"Ağır" göçler/kanaryalar ve geri alma planı olmadan bültenleri.
Bir olayda runbook ve paydaşlarla iletişim eksikliği.
15) Uygulama kontrol listesi (0-60 gün)
0-15 gün
Kritik kullanıcı SLI'larını tanımlayın, SLO'ları Tier-0/1/2 düzeylerine göre ayarlayın.
Yanma oranı uyarıları, SLO panoları, sentetik çevre kontrolleri içerir.
Ön ve kritik veritabanları için SPOF: ≥2 kopyaları, PDB, multi-AZ kaldırın.
16-40 gün
SLO-gating ve otomatik geri alma ile kanarya sürümlerini tanıtın.
Bağımlılık haritası + kotalar/havuzlar/zaman aşımları/her "kırmızı yol" için PB.
Planlanan pencerelerin ve iletişimin düzenlenmesi, olay mesajı şablonları.
41-60 gün
Oyun günü: AZ'nin kesilmesi, harici bir sağlayıcının arızası, trafiğin "patlaması".
SLA'ların ve gerçek kredilerin yeniden hesaplanması, raporların müşterilere yayınlanması.
"Dokuz ↔ maliyeti'nin gözden geçirilmesi ve çekim galerisine yeniden döşenmesi.
16) Olgunluk metrikleri
Kritik rotaların ≥ %95'inde SLI/SLO ve yanma oranı uyarıları bulunur.
SLO hatalarına, sürümlerin otomatik olarak dondurulması (politika) eşlik eder.
Multi-AZ kapsama Tier-0 = %100, başarılı DR-matkaplar ≥ 1/çeyrek.
"Algılama - hafifletme" süresi p50 <5 dk, p95 <15 dk.
"Release ↔ incidents" korelasyonu - korunur ve azaltılır (geri alma rate↓).
Kamu Olay/Kredi Raporu - N iş günü içinde.
17) Örnekler ve snippet'ler
Yanma oranı uyarıları (kural fikri):- Hızlı: "SLO 99. %95, pencere 1 saat, yanık ≥ 14. 4 × - çağrı sayfası"
- Yavaş: "Pencere 6 h, yanık ≥ 2 × - bilet ve izleme".
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 ile kanarya (Argo Rollouts, fikir):
yaml analysis:
templates:
- name: slo-burn metrics:
- name: error-rate successCondition: result < 0. 005 provider: prometheus
SLI formülasyon örneği:
SLI: fraction_of_good_requests = good(HTTP 2xx/3xx ≤ 500ms) / all(requests)
SLO: ≥ 99. 95% per calendar month, per region
18) Sonuç
Yüksek Kullanılabilirlik sadece kümeler ve kopyalar değil, aynı zamanda tutarlı bir mimari, süreç ve metrik kümesidir: açık SLI/SLO, gerçekçi SLA, ekonomi dokuzları, düşme yerine bozulma, zaman aşımı/kota disiplini, kanarya sürümleri, düzenli egzersizler ve şeffaf iletişim. Satın alınabilirliği ölçülebilir ve yönetilebilir hale getirin - ve bir piyango değil, rekabet avantajı haline gelir.