Logo GH

Evreleme: gönderme ve senkronize etme

TL; DR

Evreleme, anonimleştirilmiş veriler ve simülatörler üzerinde sözleşmelerin, geçişlerin, yapılandırmaların, webhookların ve ödeme zincirlerinin kontrol edildiği maksimum üretim paritesine sahip bir üretim öncesi ortamdır. Başarı, değişmez dağıtım (mavi/yeşil), PII'siz veri paritesi, şema kaydı, gölge trafik, kanarya planı, özellik bayrakları, açık kapılar ve otomatik geri alma ile sağlanır.

1) Rol ve paritenin satışla sahnelenmesi

Amaç: Sürümün para ve oyuncular için güvenli olduğunu doğrulamak: veritabanı şemaları, yanıp söner, yapılandırmalar, limitler, web kitapları, yönlendirme, gözlemlenebilirlik.
Eşlik: aynı görüntüler, aynı topoloji (giriş/ağ geçidi, kafes, kuyruklar, önbellekler, veritabanı motorları, çekirdek/sürücü sürümleri), aynı politika (auth/rate/circuit).
Farklılıklar: Veriler kişiliksizleştirilir, dış tedarikçilerle etkileşimler - sandbox/simülatörler, DNS/etki alanları ve sırlar aracılığıyla - ayrı.

2) Topoloji ve erişim

Etki alanları: 'evreleme. api. örnek. com ',' sahneleme. ws. örnek. com '.
İzolasyon: Bireysel VPC/küme, bağımsız sırlar (KMS/Vault), mTLS içinde.
Erişim: SSO + RBAC (roller: 'release-manager', 'qa', 'dev', 'partner-view'), geçici belirteçler, denetim girdileri.

3) Serbest bırakma treni

1. Yapı (etiket, SBOM, artifact imzaları).
2. Testler (birim/entegrasyon/sözleşme, güvenlik hatları).
3. Paket/Tarama (SAST/DAST, vuln-gates).
4. Evreleme'ye dağıtın (değişmez, mavi/yeşil veya p95/p99 kontrolü ile yuvarlanma).
5. Evreleme Kapıları (см. § 10).
6. Canary Prod (1 - 5 - 25 - 50 - %100).
7. SLO ihlali/hatalarında otomatik geri alma.

4) Yapılandırma senkronizasyonu

GitOps: Git'teki tüm yapılandırmalar ve politikacılar; 'values'ile prod/staging için tek çizelgeler/manifestolar. sahneleme. Yaml '.
Eşlik kontrolü: Evrelemede "manuel düzenlemeler" yasaktır. Sürüklenme otomasyon ile tespit edilir (policy-diff, kube-diff).
Sırlar: bireysel anahtarlar ve belirteçler; Prod ne olursa olsun rotasyon.

5) Şemalar: API/DB/Olaylar

Birleştirilmiş kayıt defteri: OpenAPI, Protobuf tanımlayıcıları, GraphQL SDL, olaylar. Sözlük.
CI'da Breaking-Checks: Yıkıcı değişiklikleri yasaklamak.
DB göçleri: tanıtımdan önce evrelemeye 'kadar'; 'aşağı'/geri dönüşümlü olasılığı; Anlık görüntü zaman tahmini ile kuru çalışma.
Olay uyumluluğu: Geçişler sırasında "çift giriş" (eski + yeni format).

6) Veri ve senkronizasyon

Kaynak: prod'dan düzenli dökümü - anonimleştirme/tokenization/maskeleme - evreleme için ithalat.
PII/PAN/KYC belgeleri: silinmiş/sentetiklerle değiştirilmiş; Toplamlar ve frekanslar - gizlilik için bozulmuş (gürültü).
Senkron pencereler: plan/kroons (örneğin, her gece), süre ve hata izleme.
Tanımlayıcılar: Yoğunluğu ve kardinaliteyi koruyun (yük testi gerçekçiliği için).

7) Dış entegrasyonlar (PSP/KYC/sağlayıcılar)

Sandbox hesapları veya HMAC webhooks, retras, idempotency ile simülatörler.
Bayraktaki çatal: tedarikçinin veya simülatörümüzün gerçek sanal alanı (yapılandırmada geçiş).
Webhooks: imzalar, zaman penceresi, DLQ/tekrar konsolu evreleme sırasında etkinleştirilir.
Ödeme rayları: Gerçek ödeme/evreleme auth kod düzeyinde (sert blok) yasaktır.

8) Gölge trafiği ve tekrarları

Gölgelendirme: Üretimin bir alt kümesini evrelemeye (yan etki olmadan) kopyalayın, yanıtları/gecikmeyi karşılaştırın.
Trafik yansıtma: ≥ 1-5 % GET/status. Gölge mutasyonlara izin verilmez.
Sentetik yeniden oynatma: regresyon için tarihsel izlerin (maskeli) çalıştırılması.

9) Özellik bayrakları, donma ve uyumluluk

Bayraklar yeniden konuşlandırılmadan davranışı kontrol eder; Bayrak yapılandırmaları sürümlüdür.
Büyük bir olay/yük dönemi için serbest bırakma donması; evreleme "ayna" prod sabitlenir.
Geri/ileri uyumluluk: Önce yeni formatı okuyun, sonra yazın.

10) Gates: promosyondan önce kontrol ettiğimiz şey

SLO: p95/p99 gecikme, hata oranı, koridor doygunlukları.
Sözleşme: API diff - без kırma; Webhooks imzalı, idempotency yaklaşık.
DB göçü: bütçede zaman, "uzun oynayan" masalarda kilit yok, plan analizi.
Ödemeler/KYC: Pozitif/negatif vakalar geçti, webhook'ları geri çek> 2xx <3 c p95.
Oran/kotalar: doğru 429/Retry-After.
Güvenlik: eşiğin altındaki güvenlik açıkları; sırlar/izinler geçerlidir.
Dokümanlar/SDK: Kayıt defterinde yayınlanan OpenAPI/SDL/Proto; Postacı/SDK güncellendi.
Runbooks: Playbooks ve geri alma planı test edildi.

11) Gözlemlenebilirlik ve uyarılar

Метрики: RPS, p50/p95/p99, 4xx/5xx, açık devreler, kuyruk len, önbellek hit, webhook teslim.
İzler: uçtan uca korelasyon 'trace _ id'; prod ile karşılaştırma (gecikme farkı).
Günlükler: maskeleme, örnekleme, "sessiz" hatalar (WARN sivri uçları).
Evreleme panoları: ayrı, ancak yapıda aynı; Yeşil/kırmızı SLO çubukları.

12) Dağıtım stratejisi

Evrelemede Mavi/Yeşil (tercih edilen): hızlı anahtar, kolay geri alma.
Küçük partiler ve sağlık kontrolleri ile haddeleme.
Kanarya içinde evreleme: A/B profilleme için 'staging-a've' staging-b 'arasındaki yüzde trafik.
Göç DB: sıfır kesinti desenleri (genişlet, göç et, sözleşme), "çift yazma", blok arama.

13) Güvenlik ve uyumluluk

mTLS, WAF, DDoS profilleri aktiftir.
Yönetici uç noktalarında RBAC/ABAC; Entegratörleri dahili panellere devre dışı bırakmak.
Günlüklerin şartları prod'dan daha kısadır; Sürüm denetim raporları kaydedilir.
Anahtarların/sertlerin kontrol edilmesi: bireysel JWKS/serts, rotasyonlar evreleme için test edilir.

14) Olay oyun kitapları (sahneleme)

Geçişten sonra SLO hatası:'yeşil'e geri alma, şema geri alma (mümkünse), bozulmayı etkinleştirme ("pahalı" agregaları kesme).
Splash 5xx: açık devre kesiciden kırılgan yukarı akışa, geri tepmeyi BFF'ye yükseltin, önbelleği etkinleştirin.
Evreleme sırasında PII sızıntısı: çöplüklerin derhal temizlenmesi, sırların iptal edilmesi, erişimlerin denetlenmesi, maskeleme politikasının düzeltilmesi.
Webhook'ların yasaklanması: dead-letter'a geçici transfer, düzeltmeden sonra manuel tekrar oynatma.

15) Kontrol listeleri

15. 1 Prod başına promosyon

  • Tüm kapılar (§ 10) geçti; rapor eklendi.
  • Kanarya planı ve ayak kriterleri tanımlanmıştır.
  • Özellik bayrakları hazırlanır (açık/kapalı/geçişler).
  • Dokümantasyon/SDK/Portal güncellendi.
  • Paydaşlar bilgilendirildi, destek pencereleri kabul edildi.

15. 2 Geri alma

  • Mavi/Yeşil: önceki yuvaya trafik, yapılandırmalar geri alındı.
  • Şemalar geri döndürülebilir veya bayrak güvenli bir duruma düşürülür.
  • Ölüm sonrası desen ve eser koleksiyonu.

16) Mini snippet'ler

GitOps promosyonu (sözde)

yaml stages:
- deploy-staging
- verify-gates
- promote-prod deploy-staging:
script: kubectl apply -f k8s/overlays/staging verify-gates:
script:./scripts/check_slo. sh &&./scripts/check_contracts. sh promote-prod:
when: on_success script: kubectl apply -f k8s/overlays/prod

Genişlet> Migrate> Contract (DDL)

sql
-- expand
ALTER TABLE payouts ADD COLUMN note TEXT NULL;
-- migrate (background job copies data)
-- contract
ALTER TABLE payouts DROP COLUMN comment;

Gölge başlığı


X-Shadow-Trace: 1

Evreleme başına mutasyon idempotensi

pseudo if store. has(idempotency_key) return store. get(idempotency_key)
res = do()
store. set(idempotency_key,res,ttl=72h)
return res

17) Antipatterns

Evreleme "neredeyse üretim gibidir", ancak farklı sınırlar/filtreler ile - yanlış pozitif sonuçlar.
Sahnelemede gerçek PAN/rıhtımlar.
Manuel "sıcak" yapılandırma düzenlemeleri.
Zamansız ve kilitsiz geçişler.
Gölge trafiği/tekrarı yok - böcekler yalnızca prod'da açılır.
Geri alma planı olmadan terfi.

18) Evreleme için SLO (yer işaretleri)

Çalışma süresi: ≥ 99. %5 (entegrasyon vitrini düşmemelidir).
Gıdaya gecikme katkı maddesi: ≤ + %10-20.
Webhooks p95: Retrays ile 3 c ila 2xx ≤.
Hata bütçesi: 5xx ağ geçidi ≤ 0. Serbest bırakma penceresi başına %1.
Gölge kontrollerinin payı: Okumaların ≥ %1'i.

Özet

Sahneleme "kum'değil, gerçek bir üretim provasıdır: aynı yığın ve politikacılar, anonim veriler, demiryolu simülatörleri, prod trafiğinin gölgeleri, katı kapılar ve anında geri dönüş. Her şeyi GitOps + kayıt defteri şemaları + değişmez depla ile sarın, özellik bayraklarını ve kanarya planını saklayın; sürümleriniz tahmin edilebilir hale gelecek ve olaylar nadir ve yönetilebilir hale gelecektir.

Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.