Geri Alma Senaryoları
(Bölüm: Operasyonlar ve Yönetim)
1) Neden geri dönüş senaryolarına ihtiyacınız var?
Mükemmel testlerle bile, bazı değişiklikler bozulmaya yol açar. Geri alma, veri kaybı veya uyumluluk olmadan önceden tanımlanmış "güvenli'bir sürüme geri dönmenin yönetilen işlemidir. Hedefler: MTTR'yi azaltmak, para/verileri korumak, ortakların ve düzenleyicilerin güvenini sağlamak.
2) Değişikliklerin sınıflandırılması ve geri alma yaklaşımları
Kod ve kaplar: sürümlü eserler - mavi-yeşil, kanarya, önceki görüntüye anında geri alma ile yuvarlanma.
Konfigürasyonlar/phicheflags: özellik geçiş geri dönüşü, TTL ile atomik anahtarlar ve denetim.
Veritabanı şemaları: genişlet, göç et, kontrat, çift yönlü geçişler, "gölge" sütunlar, arka planda dolgu.
Veri/fiyat listeleri/vergiler: artifact sürümleri ('fx _ version', 'tax _ rule _ version', 'pricelist _ version'), 'freeze've return.
Entegrasyonlar (PSP/KYC/içerik sağlayıcıları): rotaları/havuzları değiştirme, yedekleme sağlayıcısına geri dönme.
Altyapı/ağlar/CDN: kuralların/rotaların aşamalı olarak geri alınması, çift yüklemeli sertifikaların/anahtarların geri alınması.
3) Tersinirlik için mimari desenler
Değişmez sürümler: Her sürüm, bir öncekini anında seçebilme özelliğine sahip imzalı bir eserdir (resim/yapılandırma).
Uyumluluk katmanları: şema-compat (ekle, kaldır değil), tüketici tarafında toleranslı-okuyucu.
Çift yazma ve gölge okuma: "değiştirmeden" önce tutarlılığı karşılaştırın.
Idempotence ve sagas: çapraz hizmet işlemleri için tazminat adımları.
Ficheflags: "Sıcak" yeniden dağıtım yerine hızlı kapatma/aşamalı giriş.
4) Dönüş noktaları ile yuvarlanma stratejileri
Kanarya N %: metrikler/korkuluklar - bozulma sırasında otomatik geri alma; Başarılı olursa - %100'e genişletme.
Mavi-Yeşil: iki ürün yığını; Trafik değiştirme ve anında geri dönüş.
Duraklatma ile yuvarlama: "duraklama noktaları've önceki dalgaya geri dönme yeteneği ile taraf taraf güncelleyin.
Kohort tarafından Ficheflags: "karanlık başlatma", beyaz listeler, bölgesel/kiracı bayrakları.
5) Veritabanlarını ve geçişleri geri almak: güvenli şablonlar
Genişletmeden asla "yıkıcı" göçler yapmayın; migrate:1. Genişlet: yeni sütunlar/indeksler/uç noktalar ekleyin, kod her iki sürüme de yazar.
2. Migrate: dolgu ve doğrulamalar; Yeni yapıdan "gölge" okunuyor.
3. Sözleşme: stabiliteden sonra eskiyi devre dışı bırakın.
Çift yönlülük: her göçün bir 'aşağı ()' vardır; Büyük kümeler için - fiziksel silme yerine mantıksal geri alma (bayraklar, yönlendirme).
Anlık görüntüler/zamanında: Kritik bir sürümden önce tabloların PITR/anlık görüntüsü.
Şema kontrolü: CI/CD'deki sözleşme doğrulayıcıları + evreleme/çoğaltma üzerinde "kuru çalışma".
6) Katalog/fiyat/vergi geri dönüşü
Fiyat listelerini ve vergi kurallarını revize etmek; Yayın makbuzlarını saklayın.
Siparişlerde 'fx _ version'/' tax _ rule _ version' düzeltin - iadeler eski kontrolleri bozmaz.
"PriceMismatch'ile önbelleğin bir kuvvet sakatlığı, eserin önceki sürümüne dönüş, politika ile tazminat.
7) Entegrasyonlar ve dış sağlayıcılar
PSP/KYC/içerik: yedekleme yolları, sağlık örnekleri, DNS/LB hızlı anahtarlama, bireysel anahtarlar tutun.
Webhooks: yazma-bırakma ve kuyrukları içerir; Geri alma sırasında - idempotent anahtarlarla "ölü harflerden" tekrarlar.
Sertifikalar/anahtarlar: çift yükleme (eski + yeni), değiştirmeden önce uyumluluğu kontrol etme.
8) Geri tepmelerin ("rünler") ve korkulukların otomasyonu
Руны (кнопки): Rollback Release, Disable Flag, Re-route, Flush Cache, Scale Back, Restore Schema.
Korkuluklar: IC/sahibi için kullanılabilir Kickback lansmanı; İmzalı (DSSE), işlem sıklığı limitleri, onay kontrol listesi.
Otomatik geri alma: SLO/persentiller/hatalar/finansal sinyaller için koşullar (örneğin, Δ quote↔checkout ≠ 0).
9) İletişim ve eserler
Yayın kartında: sürüm, hashler, önizlemelerin kontrol listesi, rollback playbook, sorumlu.
Geri alma sırasında: zaman damgaları, neden, etkilenen trafiğin hacmi, eserler (günlük bağlantıları, metriklerden önce/sonra).
Dış iletişim (durum sayfası/ortaklar): özlü ve olgusal.
10) Rollback oyun kitapları (referans)
Kod/görüntü bozulmuş (P1):1. Re-rota/Mavi-Yeşil geri 2) düzeltme sürümü 3) blok daha fazla haddeleme 4) gerginlik.
Bayrak hatalarda artışa neden olur:1. Özellik Bayrağını Devre Dışı Bırak (%100) - 2) önbelleği/follbacks'i yıkayın - 3) bilet düzeltin.
Veritabanı geçişi zaman aşımları sağlar:1. Stop heavy-backfill - 2) okumayı eski şemaya geri döndürün (dual-read off) - 3) yükü/indeksleri azaltın - 4) 'down ()' veya mantıksal geri dönüşü değerlendirin.
PriceMismatch/FX/Vergi:1. 'pricelist _ version'/' tax _ rule _ version' - 2) kenar önbelleğini devre dışı bırakma - 3) kontrolleri telafi etme ve uzlaştırma.
PSP hatası:1. Bekleme PSP'ye geçiş - 2) gri işlemlerin karantinaya alınması - 3) stabilizasyondan sonra kuyruk kopyaları.
Anahtar/Sertifika bozuk:1. Önceki anahtara geri dön (çift anahtar) - 2) döndürme ve repablish.
11) RACI
12) Kalite ve SLO metrikleri
Değişim Hatası Oranı (CFR) - geri dönüşlü sürümlerin payı (hedef ↓).
MTTR (geri alma ile) stabiliteye geri dönmek için medyan zamandır.
Geri Alma Süresi - tetikleyiciden geri alma işleminin sonuna kadar (P1 ≤ 15-20 dakika).
Δ - metriklerden önce/sonra (p95, hata oranı, E2E başarı).
Aynı nedenin tekrarlanan geri dönüşleri ≤ N/çeyrek.
Denetim kapsamı: Eserler ve imzalarla %100 geri alma.
13) Güvenlik, gizlilik, uyumluluk
Sürümler/geri dönüşler için WORM dergileri; Eserlerin düzenleyiciler tarafından depolanması.
PII/Finans: Geri dönüşün doğrulanması, çözülmemiş bölgelere/eski politikalara erişimi açmaz.
SoD:'kim yuvarlanır "≠'kim onaylar" ≠'kim geri dönüşü başlatır ".
Krediler/sırlar: Çift rollover ve önceki anahtara anında dönüş.
14) Finansal ve operasyonel etkiler
Kesinti süresi maliyeti ve geri alma maliyeti: Çözümü SLO korkulukları aracılığıyla otomatikleştirin.
SLA tazminatları/kredileri - oyun kitaplarındaki şablonlar.
Çıkış/compute-cap: Geri alma, yükü geçici olarak artırabilir (yeniden oynatma/önbelleğe alma) - pencereleri planlayın.
15) Yayın öncesi kontrol listesi (go/no-go)
- İmzalı eserler ve dönüş noktası (görüntü/yapılandırma/veri sürümü).
- Rollout planı ve geri alma oyun kitabı (adımlar halinde).
- Migration validated: expand> migrate> contract, PITR active.
- Kadranlar/korkuluklar SLO: Uyarı sisteminde otomatik geri alma koşulları.
- İletişim kanalları: IC/Sahipler/İletişim on-call.
- Geriye dönük uyumluluk testleri ve evreleme "kuru çalışma".
- Kritik entegrasyonlar için yedekleme yolları.
- İletişim Planı (İç/Dış) ve şablonlar.
16) Geri alma sırasında kontrol listesi (olay sırasında)
- Tetikleyici ve etkilenen hacmi onaylayın (bölge/kiracı/kanal).
- "Ne geri alıyoruz" versiyonunu düzeltin.
- Geri alma rününü çalıştır (kod/bayrak/rota/veri).
- SLI/SLO ve iş metriklerini kontrol edin (E2E, ödeme, web kitapları).
- Dizinleri/sürümleri kontrol edin (FX/Tax/PriceList).
- Durumu düzeltin: yeni yuvarlanmayı yasaklayın, eserleri toplayın.
- İletişim: durum sayfası, ortaklar, dahili.
17) Sık hatalar ve anti-desenler
Eserler ve imzalar olmadan "elle" geri alma.
Çift yönlülük ve PITR olmadan yıkıcı göçler.
"Global anahtar" olmadan özellik bayrağı.
PSP/KYC'ye yedekleme yolu yok.
Isınmadan önbelleği yıkayın - soğuk isteklerin çığ.
Fiyat listesi geri döndükten sonra hesaplanmamış quote≠checkout.
18) SSS
Bir geri dönüş ne zaman "yerinde'bir düzeltmeden daha iyidir?
SLO ihlali/para/veri riski durumunda, bilinen kararlı sürüme dönmek daha hızlı ve daha güvenlidir.
"Yıkıcı" göçleri geri almak mümkün mü?
Evet, eğer açılım olarak tasarlanırsa> migrate> contract with 'down ()'/PITR ve logical follback.
Geri alma kararımı nasıl otomatikleştiririm?
SLO korkulukları (p95, hata oranı, Δ değerleri, webhook'ların başarısı) + risk matrisi> otomatik rün.
"Arasında" siparişler/işlemler ile ne yapmalı?
Idempotent anahtarları, "gri" işlemlerin karantinaya alınması, veri tekilleştirme ile kuyrukların kopyaları.
Özet: Geri alma senaryoları doğaçlama değil, hızlı bir şekilde stabiliteye geri dönmek için önceden tasarlanmış bir yetenektir. Her şeyi yönetin, geri dönüşümlü bir veri şeması tutun, ficheflags ve kanaryalar kullanın, rünleri otomatikleştirin, eserleri ve SLO korkuluklarını yakalayın. O zaman herhangi bir sürüm yönetilebilir kalır ve iş öngörülebilir şekilde istikrarlıdır.