Platform Çekirdeği Sürümlerini Takip Etmek Neden Önemlidir?
"Platform çekirdeği'nedir ve sürümlerin neden kritik olduğu
"Çekirdek'ile hataların affedilmediği alanları kastediyoruz: cüzdan ve defter, bahisler/turların hesaplanması, nakit masası (para yatırma/ödeme), kimlik (KYC/AML/RG), oyun sağlayıcıları ile sözleşmeler ve faturalandırma/raporlama.
Buradaki herhangi bir güncelleme parayı, düzenlemeyi, güveni etkiler. Bu nedenle, çekirdek sürümleri bir "paket numarası" değildir. Json,'ve bir değişim ve sorumluluk yönetimi aracı.
Neden parça sürümleri
1. Para risk yönetimi. Hangi tur/ödeme için hangi kodun ödendiğini açıkça biliyoruz - anlaşmazlıkları ortadan kaldırır ve olayların analizini hızlandırır.
2. Entegrasyonların birlikte çalışabilirliği. Oyun/ödeme sağlayıcıları sözleşmelere bağlıdır. Sürüm = alanların, durumların ve iş kurallarının aynı olduğunu garanti eder.
3. Uyum ve denetim. Regülatör tekrarlanabilirlik gerektirir:'ne inşa, ne düzeni, ne kontrolü. "Versiyon, kanıt tabanının çapasıdır.
4. Kesinti olmadan hızlı sürümler. Sürüm oluşturma, uyumlu değişiklikleri serbest bırakmanıza ve kanarya yuvarlamanıza olanak tanır.
5. Olay yönetimi. Etiketli eserler, geçişler ve bir uyumluluk matrisi olduğunda geri alma/ileri alma basittir.
6. Ürün ekipleri için şeffaflık. "Sözleşme X.Y'ye kadar istikrarlı" olduğunda, sürprizler olmadan/pazarlama/analitik planını ön plana çıkarır.
Sürüm Politikası (Çekirdek için SemVer)
SemVer 'MAJOR kullanıyoruz. MINÖR. PATCH '+ "şema revizyonu've'olay sözleşmesi sürümü":- PATCH (x.y. Z) - API/şemaları/hesaplama mantığını değiştirmeden düzeltmeler. Rollout hızlı, geri dönüş önemsiz.
- MINOR (x.Y.z) - uyumlu uzantılar: yeni "nullable" alanlar, yeni olaylar, bayraklar. "Sadece genişlet" göçleri.
- BINBAŞı (X.y. z) - kırılma değişiklikleri: alanların/olayların kaldırılması, hesaplama kurallarının değiştirilmesi, yeni defter değişmezleri.
- 'SchemaVer' (DB/ledger/directors), 'contractVer' (bus olayları ve webhooks), 'calcVer' (hesaplama/bonus kuralları motoru).
Sözleşmeler ve geriye dönük uyumluluk
Dış ve iç tüketicilere yönelik sözleşmeler
API/webhooks/events: sürüm URL'si ('/v2/... '), header (' X-Contract-Version '),' schemaVer 'alanı içinde payload.
Otobüsteki olaylar: 'event' Ver 'alanı, sessiz kırma yasağı (alan türündeki değişiklikler, durum anlamı).
DB: expand> migrate> contract migrations.
Ekleyebilir, değiştirebilir - dikkatlice silebilir - bir "gölge'ile
Alan ekleme - yalnızca geçersiz/varsayılan.
Anlam değişikliği, geçiş dönemi için'eski "alanın ('_ legacy') paralel yayınlanmasıyla sadece MAJOR'dadır.
Silme - kullanımdan kaldırıldıktan ve telemetriden sonra "eskiyi başka kim okur".
Şema ve veri geçişleri
Genişlet: bir sütun/dizin ekleyin, yeni bir olay girin - mevcut okuyuculara dokunmadan.
Migrate: Arka plandaki değerleri doldurun/yeniden hesaplayın (toplu iş/çevrimiçi), yeni bir yere çift giriş (çift yazma) ekleyin.
Sözleşme: okuyucuları çevirin, bir sonraki MAJOR'daki eski dalı kaldırın.
Araçlar: feature-flag, shadow tables, online DDL, invariants at the database level (check-restrictions) and domain altında geçişler.
Uzlaştırma sürümleri: para, bahisler, bonuslar
Ayrı ayrı fix 'calcVer' - para hesaplama mantığının versiyonu (rate/hold/settle/VOID, bonus ve bahis kuralları).
Her 'round'da. Yerleşmiş ',' ödeme. Tamamlandı ',' bonus. Verilen 'yaz' calcVer '.
Bir anlaşmazlıkta, hesaplamayı olay sırasında geçerli olan mantıkla tam olarak yeniden üretebilirsiniz.
'CalcVer' kanaryasını trafik/bölge/oyun kategorisi yüzdesine göre değiştirin.
Sürüm oluşturma için gözlemlenebilirlik
İzdeki etiketler: 'BuildId', 'gitSha', 'semver', 'schemaVer', 'contractVer', 'calcVer'tüm kritik aralıklarda (bahis, yerleşim, ödeme).
Panolar versiyona göre: hatalar, gecikme, fin deltalar versiyona göre.
"Sürüm kayması" uyarıları: Bazı lastik tüketicileri yanlış devreyi okuduğunda.
Güvenlik ve uyumluluk
Sürümlenmiş eserler (resimler, geçişler) imzalanır; Değiştirilemez kayıt defterinde/kovada saklanır.
DR/denetim: ortamı "T tarihinde olduğu gibi" (resim, sürüme geçişler, veritabanı anlık görüntüleri) yükseltebilirsiniz.
AML/RG/KYT kural revizyonları da versiyonları (policyVer) ve uygulama günlükleridir.
Serbest bırakma prosedürleri
1. Sözleşme incelemesi: 'PATCH/MINOR/MAJOR'olarak işaretlenmiş değişikliklerin listesi, dış/iç tüketiciler üzerindeki etkisi.
2. Geriye dönük-compat testleri: eski müşteriler/olaylar üzerinde kontroller (sözleşme testleri).
3. Kanarya sunumu: Trafiğin %1-5'i; P95 metrikleri, hatalar, finansal tutarsızlıklar.
4. Mirası kullanmanın telemetrisi: 'v1'i başka kim dinliyor, hangi alanlar okunabilir - kullanımdan kaldırılmış bir plan.
5. Comm paketi: Yaşam sonu eski sürümleri ne zaman değişir, nasıl taşınır.
Örnek Uyumluluk Matrisleri (Örnek)
Sözleşme örnekleri
Versiyonlu otobüs etkinliği:Json
{
"event": "round. yerleşmiş," "eventVer": "2. 4", "şemaVer": "defter-3. 1", "calcVer": "cüzdan-7. 2 "," roundId ":" R-2025-10-17-PRAGM-12, "" bahisler ": [{" betId ":'b _ 9f2", "bahis": "5. 00 ", "ödeme":" 180. 00 ", "sonuç":" KAZANMAK"}], "ts": "2025-10-17T14:23:12. 031Z," "traceId": "tr_5f1"
}
Sözleşme versiyonu ile REST:
GET/v2/cüzdan/bakiye
X-Sözleşme-Sürüm: 2. 3
Anti-desenler
"Sessiz" değişiklikler: MAJOR olmadan alanların türlerini/anlamlarını değiştirin ve kullanımdan kaldırın.
Çift yazma olmadan tek bir sürümde veri taşıma ve para mantığını karıştırın.
Sürümler yerine küresel bayraklar (geri yüklenemez,'o zaman ne davrandı ").
Sözleşme testleri ve şema kataloğu eksikliği.
Telemetri kullanmadan mirası silin - ortaklar/panolar kırılır.
Eserler/imzalar olmadan "wiki'de bir yerde'tek bir sayı tekrarlanabilir değildir.
Çekirdek sürüm disiplin kontrol listesi
Standartlar
- Sürüm ailesi: 'semver', 'schemaVer', 'contractVer', 'calcVer', 'policyVer'.
- Tarih ve sahiplerle veri kataloğu.
Sözleşmeler
- Sürüm bitiş noktaları/olaylar, başlık/sürüm alanı.
- Kullanım tarihleri ve telemetri ile sapma prosedürü.
Göçler
- Genişlet> Migrate> Contract, dual-write, онлайн -DDL.
- Veritabanı düzeyinde gölge tablolar ve değişmezler.
Bültenler
- Kanarya sunumu, uyumluluk matrisi, geri alma planı.
- İmzalı görüntüler/göçler, değiştirilemez eserler.
Gözlemlenebilirlik
- Trace/logs/metrics içindeki sürüm etiketleri.
- Hata/gecikme/Fin Delta panoları sürümüne göre.
Uyumluluk/DR
- Çevrenin tekrarlanabilir yükselişi "T tarihinde"
- PolicyVer uygulama günlükleri (AML/RG/KYT).
Çekirdek sürüm oluşturma, paranın "sigortası've ürün geliştirme hızıdır. Bununla birlikte, platform öngörülebilir bir şekilde gelişir: yeni fırsatlar bozulmadan ortaya çıkar, finans tekrarlanabilir kalır, entegrasyonlar uyumludur, denetimler sakindir. Sürümleri sürecin bir parçası yapın (sözleşmeler, geçişler, telemetri, sürümler) - ve arka uçunuz P&L ve itibar kaybı olmadan yıllarca değişime dayanacaktır.