Logo GH

Operasyonlar ve Yönetim Operasyonel Altyapı Ölçeklendirme

Operasyonel altyapı ölçeklemesi

1) Neden ve ne "ölçeklendirme'olarak kabul edilir

Ölçeklendirme, platformun iş hacmini (RPS/TPS, bağlantılar, IOPS, iş hacmi) ve veri hacmini SLO'yu kaybetmeden ve kontrollü bir maliyetle artırma sistemidir. IGaming/fintech için bu doğrudan para ile ilgilidir: para yatırma/bahis dönüştürme, canlı oyunlar ve yerleşimler.

Hedefler:
  • SLO'ları X kat yük artışı ve mevsimsel zirvelerde tutun.
  • Öngörülebilir ölçekleme süresi sağlayın (saatler değil dakikalar).
  • Tasarruf Ekonomisi: maliyet/RPS, maliyet/işlem, maliyet/1k olayları.

2) Ölçeklenebilir platform ilkeleri

1. Yatay-birinci: küçük, vatansız hizmetlere bölünme; Durum - veri kümelerinde.
2. Geri basınç ve kuyruklar: yumuşatma patlamaları, "fırtınalara" karşı koruma.
3. Tüm katmanlarda önbelleğe alma: istemci/kenar/hizmet/veritabanı.
4. Idempotence ve tekrarlanabilirlik: güvenli geri çekilmeler, çıkış kutusu, dedup.
5. Kısıtlı bağımlılıklar: zaman aşımları, kesiciler, bölme izolasyonu, hız sınırları.
6. Kapasite sinyallerine göre gözlemlenebilirlik: boşluk, p95/p99, gecikme, bağlantılar, kotalar.
7. Koruma raylarıyla otomatik ölçekleme: HPA/VPA/Cluster Autoscaler + durdurma koşulları.
8. Tasarım olarak çok bölgeli: bağımsız patlama bölgeleri, yerel veriler, kararlı fylovers.

3) Kapasite planlaması: 'ne kadar ihtiyacınız olduğunu hesaplamak "

Model girişleri: hedef tepe TPS, trafik profili (saatlik), "kritik yollar", önbellek isabet oranları, ortalama yükler, SLO'lar ve sağlayıcı sınırları.

Hızlı değerlendirmeler (temel kural):
  • RPS _ CPU/bölmeler: 'bölmeler = RPS p99_time/effective _ CPU _ in _ pod' (%30-50'lik bir marjla).
  • Kuyruklar: 'minimum _ speed _ of _ consumers ≥ peak _ speed _ of _ producers 1. 2`.
  • DB bağlantıları: 'max _ conns = active _ service _ pools medium _ pool _ size 1. 3`.
  • Önbellek: boyut = "N dakika içinde sıcak çalışma seti" + %20-30 marj.
  • Çıkış/CDN: peak çıkış = peak requests ortalama yanıt boyutu (sıkıştırmayı düşünün).

Headroom: Zirvede %20-40 hedef (katman olarak). %15'in altında - "kapasite yükseltme" tetikleyicisi.

4) Katmanlar ve ölçekleme desenleri

4. 1 Kenar/CDN/WAF

Kenar önbelleğe alma (TTL + SWR), coğrafi denge, sıkıştırma, HTTP/2/3.
IP/JWT/anahtar ile çevre üzerindeki hız sınırları, dalgalanma koruması.
Broker/pub/sub kanalları üzerinden etkinlik fan-out (jackpotlar, canlı uyarılar).

4. 2 Ön Uç için Arka Uç API Ağ Geçidi

Statlara göre yatay ölçeklendirme, downstreamlere göre özel havuzlar.
İş metriklerine göre HPA: RPS, p99, iş havuzu kuyruğu - sadece CPU değil.

4. 3 Eşzamansız kuyruklar/akış (Kafka/Tavşan/Pulsar)

Taraflara ve tüketicilere göre ölçeklendirme; Eğrilmekten kaçının (anahtarlar ve dağıtım).
Gecikme uyarıları + tüketicilerin otomatik ölçeklendirilmesi; DLQ ve yeniden deneme konuları.
SLA mutabakatları altında tutma ve yeniden oynatma.

4. 4 Önbellek (Redis/Memcached)

Küme modları, kopyalar, tahliye politikaları (LFU), multiget, boru hattı.
Kısayol tuşu ve arka plan görevlerinin ayrılması, istemci sınırları ve maksimum bellek ilkesi.

4. 5 Veritabanları

Kopyaları okuma ve yönlendirme okuma, bağlantı birleştirme.
Bölgeye/kiracıya/anahtar aralığına göre sharding.
CQRS: ustaya/lidere yazar, kopyalara okur.
Dizinleme ve toplu yazma iş akışları (giden kutusu, akış, lavabo).
Arşivleme ve sıcak/soğuk veri (katmanlama).

4. 6 Dosya/Nesne Depoları

Çok aşamalı, çok parçalı indirmeler, CDN-ön, eşzamansız dönüşümler.
Sağlayıcı kotaları, kuyruk temizleme ve çıkış bütçesi.

4. 7 Sağlayıcılar (PSP/KYC/Studios)

Çok satıcılı ve teklif/SLO/maliyet yönlendirme.
Devre kesici + her sağlayıcı için hız sınırı, retray kuyruğu, "grace modları".

5) Otomatik ölçeklendirme ve koruma rayları

Kubernetes:
  • HPA: метрики 'rps _ per _ pod', 'queue _ depth', 'p99 _ latency'; 'targetAverageValue'.
  • VPA: kaynak yönergeleri; Pik dışında güncelleme.
  • Cluster Autoscaler: spot + öncelikli isteğe bağlı profiller.
  • PodDisruptionBudget/TopologySpreadConditions: bölgeler arasında tekdüze.
  • LimitRange/ResourceQuota: "Sarhoş" tüketenlere karşı koruma.
HPA sözde manifestosu:

apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler spec:
scaleTargetRef: {apiVersion: apps/v1, kind: Deployment, name: api-gw}
minReplicas: 8 maxReplicas: 200 metrics:
- type: Pods pods:
metric:
name: rps_per_pod target:
type: AverageValue averageValue: "120"
- type: Pods pods:
metric:
name: p99_latency_ms target:
type: AverageValue averageValue: "280"
behavior:
scaleUp:
stabilizationWindowSeconds: 90 scaleDown:
stabilizationWindowSeconds: 300
Korkuluklar (örnekler):
  • "Pause & Rollback", eğer kanarya p99> 1 ise. 3 × taban çizgisi 10 dakika.
  • Prime time'da "Freeze scale-down", sadece scale-up.
  • Darboğazlara 'open _ circuit = 1' konumunda "Stop retries".

6) Çok bölgeli: varlık/varlık ve varlık/borç

Patlama yalıtımlı bölgeler: bağımsız kümeler, yerel sırlar/kotalar.
Global yönlendirme: latency-/geo-based, health-probs, manuel geçersiz kılma.

Veriler:
  • Sıcak - yerel olarak + nihai çoğaltma (akışlar).
  • Kritik işlemler - etki alanına göre tutarlı (defter/bakiyeler).
  • Yük devretme oyun kitapları: adım adım kaynak değişimi, TTL, ısınma önbellekleri.
  • Egzersiz Yönetmeliği (DR): RTO/RPO hedefleri ile üç aylık egzersizler.

7) Ağ ve hizmet kalıpları

Servis Mesh: mTLS, yeniden deneme/kırıcı, aykırı algılama, aşağı akış başına limitler.
EBpf/ L4/L7 üzerinde gözlemlenebilirlik, bağlantı sınırları, hat başı koruması.
S2S, genel oran sınırı ve denetim için dahili API ağ geçitleri.
Patlama bölgelerine göre VPC/alt ağlar, NAT/Çıkış kontrolü, satıcılarla gözetleme.

8) Performans: Testler ve ispatlar

& Gerilmeyi primetime + en kötü durum profilinde yükle.
Islak (uzun) - bellek/tanımlayıcı sızıntıları, gecikme büyümesi.
Kaos/oyun günleri: broker/sağlayıcı/bölge düşüşü, "yavaş sağlayıcı".
CI'de perf regresyonları: bir dizi referans senaryosu ve otomatik kapılar.

Mini senaryo matrisi:
SenaryoAmaçEşik
Depozito TPS × 2Peak ödemeleriP99 ≤ 350ms, SR ≥ 99. 5%
Jackpot yayınıFan özledimWS bağlantıları ≤ %90 sınır, damla yok
KYC YavaşlamaDış sağlayıcıAutodegradation + Feilover ≤ 2 dk

9) Veri ve Depolama: Büyüme Stratejileri

Tavana dikey büyüme - yatay/sharding.
Oku - kopya/önbellek; Kayıtlar - toplu/asynchron/log.
Şema geçişleri: genişlet, göç et, kontrat yap, global kilit yok.
Arşivleme: ucuz depolamaya soğuk partiler + isteğe bağlı yeniden hidrasyon.
Arama: artımlı güncellemeler boru hattı ile bireysel dizinler (OpenSearch/Solr).

10) Sağlayıcıları ve kotaları yönetin

Kota kartı (TPS, pencereler, maliyet); 'use _ ratio> 0 uyarır. 9`.
Maliyet/kaliteye göre yönlendirme (akıllı yönlendirme).
OLA ↔ SLO anlaşmaları ve kota artırma süreci.
Alternatifler havuzu ve "sıcak" anahtarlama.

11) Gözlemlenebilirlik ve ölçeklendirme sinyalleri

Metrikler (minimum):
  • Kapasite boşluğu по слоям; 'queue _ lag/backlog growth'; 'kafka ISR'; 'db connections'/' repl lag'; 'redis evications'; 'open _ circuit'/' retry _ rate'; 'kota _ kullanımı'.
  • İş metrikleri: başarı oranı/para yatırma dönüşümü, oyun başlangıç zamanı.
  • Maliyet: Maliyet/RPS, maliyet/1k çağrıları.
Panolar:
  • Kapasiteye Genel Bakış (boşluk, en büyük riskler, yanma oranı SLO).
  • Akış ve Kuyruk Paneli (lag/backlog, tüketici doygunluğu).
  • DB & Cache (p99, bağlantılar, hit/tahliye).
  • Sağlayıcılar ve Alıntılar (TPS, zaman aşımları, maliyet, geçiş).
  • Değişim Güvenliği (yayın öncesi/sonrası, kanarya, otogazlar).
Uyarılar (fikirler):

ALERT HeadroomLowAPI
IF capacity_headroom{layer="api"} < 0. 15 FOR 10m

ALERT KafkaBacklogAtRisk
IF (consumer_lag > 5e6 AND rate(consumer_lag[5m]) > 5e4) AND (hpa_desired == hpa_max) FOR 10m

ALERT DBConnectionsNearMax
IF active_conns / max_conns > 0. 85 FOR 5m

ALERT ProviderQuota90
IF usage_quota_ratio > 0. 9 FOR 5m

12) FinOps: Ölçeklendirme karlı

Verimlilik oranları: maliyet/RPS, maliyet/depozito, maliyet/1k olayları.
Sağ boyutlandırma: VPA/öneriler, aşırı sağlanmış raporlar.
Kritik olmayan için Spot/Preemptible; Ayrılmış/temel yük için taahhüt edilmiştir.
Çıkış bütçesi ve önbelleğe alma, CDN/kenar aktarımı.
Günlüklerin değer seviyesine göre toplanması ve arşivlenmesi (sıcak ve soğuk).
Uyarı kotaları (soft-cap) ve uzatma için otomatik biletler.

13) Süreçler ve insanlar

Değişim Yönetimi: Kanaryalar, phicheflags, regresyonlarda durur.
Olay-hazırlık: runbook've "nerede kapasite eklenir", "bölge nasıl değiştirilir".
Zamanlama zirveleri: maç/turnuva/kampanya takvimi ve sağlayıcı pencereleri.
Düzenli oyun günleri ve DR egzersizleri.
Sahiplik matrisi: feilover üzerindeki "düğmeye basabilir "/kotaları artırabilir.

14) Uygulama kontrol listeleri

Temel ölçeklenebilirliğin başlatılması (2-4 hafta):
  • Kritik yolların ve sınırların haritası (katmana göre), boşluk hedefi ≥ %30.
  • Business Metrics + Cluster Autoscaler tarafından HPA; PDB/SpreadRestrictions.
  • Sıcak yollarda kuyruklar, idempotency-tuşları, giden kutusu.
  • Önbellekler: isabet hedefleri ≥ %90, tahliye politikası, anahtar endeksler.
  • DB: okuma kopyaları, bağlantı havuzu, sharding planı.
  • Sağlayıcılar: çok satıcı, kotalar, kırıcılar/geri çekilmeler.
  • Gösterge Tabloları "Kapasite/Akış/DB/Sağlayıcılar", § 11'den uyarılar.
  • Kanarya ve yayın öncesi/sonrası otogazlar.
  • DR oyun kitabı ve bir kısmi feilover eğitimi.
Büyük bir zirveden önce:
  • Önbellek, ön ölçekli HPA/ASG, sıcak bekleme kopyaları ısınma.
  • Sağlayıcı kotalarını artırın, akıllı yönlendirmeyi etkinleştirin.
  • Kritik olmayan uyarılar için gece modu baskılamalarını sağlar.
  • "Güvenli mod" özelliği anında etkinleştirme için hazırdır.

15) Anti-desenler

Yatay yerine dikey yükseltme "tam durak".
Tüm downstreamlerde ortak bir hat başı iplik/bağlantı havuzu.
Darboğaz zaman aşımları üzerinde Retrai, titreme eksikliği - fırtına.
Uyarılar ve ölçek politikalarında histerezis yoktur - "testere".
Veri ayrıştırma ve yerelleştirme olmadan tek global veritabanı.
Zaman aşımı/geri ödeme/gözlemlenebilirlik kontrolü olmadan satıcı SDK'sına kör inanç.
DR egzersizleri eksikliği: Feilover "sadece kağıt üzerinde".

16) Ölçeklenebilirlik KPI

Zirvede SLO uyumluluğu (p95/p99, başarı oranı).
Asal zamanda katman katman boşluk.
MTTS (Mean Time To Scale) - ek kaynaklar mevcut olana kadar.
Backlog/Lag Resolution Time: Kuyrukların tepe noktasından sonra çöktüğü zaman.
Aktif büyüme dönemi için Değişim Başarısızlık Oranı.
Maliyet/RPS ve önbellek/CDN/kenar aktarımından tasarruf.
DR Hazırlık: Egzersiz RTO/RPO.

17) "Hızlı" şablonlara örnekler

Kafka: tüketicilerin katılımı ve otoscale (fikirler):

partitions(topic="bets") = ceil(peak_msgs_per_sec / target_msgs_per_partition)
consumers = min(partitions, max_pods); rebalance_on: skew > 1. 5x scale_up_if: lag > 5e5 && rate(lag[5m]) > 5e4
PostgreSQL:

max_connections = poolers pool_size 1. 3 read_routing: primary (write), replicas (read majority)
shard_key: tenant_id or region_id
Redis:

maxmemory-policy: allkeys-lfu cluster-replicas: 1 evict-alert: rate(evictions[5m]) > 0 && used_mem/limit > 0. 8
Kanarya otogaz politikası (özet):

guardrails:
- metric: api_p99_ms, threshold: 1. 3 baseline_1d, window: 10m, action: pause_and_rollback
- metric: error_rate, threshold: 2 baseline_1d, window: 5m, action: pause max_step: 10%
step_interval: 15m

18) SSS

S: Önce ne ölçeklenir?
A: Panolara göre darboğazlar: kuyruklar/önbellekler/veritabanı okur. Sıcak yollar (para yatırma/bahis/oyun başlatma) bir önceliktir.

S: Otomatik ölçeklemenin'daha da kötüleştirdiği "nasıl anlaşılır?
C: Korelasyona bakın: scale- up↑ ve p99/hatalar düzelmez - belki de "sorunu ölçeklendirirsiniz" (akışı/kotayı daraltın). Kesiciler/bozulma içerir.

S: Her zaman ikinci bir sağlayıcıya ihtiyacınız var mı?
C: Kritik yollar için evet. Aksi takdirde, en azından basitleştirilmiş bir komut dosyası ve önbellek ile "güvenli mod".

S: Aktif-aktif или aktif-pasif mi?
C: RTO gereksinimleri düşükse ve birçok bölgesel oyuncu aktif-aktifse. Aksi takdirde, kullanılmış bir feilover ile aktif-pasif ile başlayın.

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!

Telegram
@Gamble_GC
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.