Real vaxt reytinqləri: texniki memarlıq
Real-time reytinqi, milyonlarla oyun hadisəsini yüzlərlə millisaniyədə yenilənən mövqelərə çevirən, dürüstlük, auditoriya və iqtisadi idarə olunma qabiliyyətini qoruyan bir sıra xidmətlərdir. Aşağıda - tələblərdən istismara qədər praktik konstruktor.
1) Tələblər və hədəflər
UI-yə qədər gecikmə: ≤ 200-300 ms p95 hadisənin gəlişindən mövqeyi yeniləməyə qədər.
Dəqiqlik: yük və nasazlıqlar zamanı «ən yaxşı N «/divizionlar/tay-breyklərin düzgün hesablanması.
Mövcudluq: ≥ 99. 9% turnir dövründə; bütövlüyü itirmədən deqradasiya.
İdempotentlik: hesablamalar səviyyəsində «düz bir dəfə», nəqliyyatda «ən azı bir dəfə».
Miqyas: regionlar/divizionlar/komandalar üzrə üfüqi artım (top-K).
Audit: qaydaların, hadisələrin, hesablamaların və ekstradisiyaların dəyişməz qeydləri.
2) Sistem sxemi (səviyyə 10 000 ft)
Клиент → Event Ingest → Scoring Engine → Stream Aggregator (Top-K/Top-M) → Write-Optimized Store → Hot Cache/Edge → UI/Comms → Rewards/Claim
Фоново: Snapshotter, Anti-Fraud/RG, Analytics & A/B, Audit/Observability.
3) Hadisələrin qəbulu (Event Ingest)
Tapşırıqlar: dubl, partlayış, şəbəkə itkilərindən qorunma.
İdempotentlik: hər bir hadisənin 'event _ uuid'; yoxlama «görüldü/hesablandı».
Çatdırılma semantikası: nəqliyyat - at-least-once, eynək uçotu - exactly-once.
Backpressure: dinamik partiyalar ilə növbələr; həddindən artıq yükləndikdə - «aktiv» turların prioritetləşdirilməsi.
Müvəqqəti pəncərələr: late events (məsələn, 90 saniyəyə qədər) - «yenidən hesablama pəncərəsinə» marşrutlaşdırırıq.
Vaxt: UTC server, müştəridə - yalnız lokal ekran.
4) Xalların sayılması (Scoring Engine)
Prinsiplər: versiyalaşdırıla bilən qaydalar, anti-pay-to-win, yüngül geri dönüş.
Versiyası: 'rule _ set _ id' + feature-flags per-region/division.
Modellər: multiplier ('Score = round (100log2 (Win/Bet + 1))'), log əyrisi ilə win-based, wager-based (yalnız fon meta kimi).
«Ən yaxşı N «reytinqi: top-N strukturunu oyunçu/gün/tur üçün saxlayın; format üzrə/medianın cəmlənməsi.
istisnalar: bonus vəsaitləri 'coef _ bonus ≤ 0. 5 'və ya' 0 '; cap per spin/day; provayder üçün kvotalar.
Tay-breyk: 1) son sürətin daha əvvəl əldə edilməsi; 2) daha çox müxtəliflik; 3) determinated seed.
5) Axın-aqreqasiya və Top K
Məqsəd: bütün çoxluğu skan etmədən mövqeləri tez bir zamanda saymaq.
6) Saxlama: write vs read
Write-optimized store: hesablama log, «best-N» vəziyyətləri, tay-breyklər, metadata (yalnız qeyd/yeniləmə).
Read-optimized store (Query): UI üçün denormallaşdırılmış «vitrinlər»: Top 100, «Mənim mövqeyi», «Günün/bölmə», komandaya töhfə.
Şəkillər (Snapshotter): Liderbordun saatlıq «snepshotları»; sürətli rollback/replay, hesabatlar və audit.
Uyğunluq: geniş siyahılar üçün eventual, «mənim mövqeyim» üçün read-your-writes.
7) Cache və Edge
Isti cache: son mövqelər və oyunçuların hesabları; TTL 1-5 san; hadisə üzrə əlillik.
Edge qat/CDN: statik bloklar, «soyuq» nəticələr səhifələri, lakin hesablama məntiqi deyil.
Fallback: deqradasiya zamanı - «bürünc rejimi»: hər X saniyədə UI yenilənməsi + ağır widget bloku.
8) Vaxt, pəncərə və taymzonlar
Vahid «həqiqi» vaxt: xidmətlərdə UTC; UTC-də son tarixlər.
Lokalizasiya: müştəridə vaxt transformasiyası (istifadəçi vaxt zonası).
Sərhədləri: «yumşaq pəncərə» şəbəkə lag (T&C) üçün 1-3 dəqiqə bağlamaq.
Get word-class: clock-skew monitorinq, NTP-alerts, drift ölçmə.
9) Gec və təkrarlanan hadisələrlə mübarizə
Late events: «reconciliation window» saxlamaq; yerli olaraq yenidən hesablama + bildiriş lentindən mövqelərin «sakit» tənzimlənməsi.
Dubley: 'event _ uuid' + (player, game, bet, ts) dar pəncərədə; «seen» jurnalı.
Hesablamaların idempotentliyi: applied/rolled_back statusu ilə «hadisə → dəyişiklik» əməliyyatları.
10) Anti-frod və RG (Ipline daxili)
Davranış skoru: vahid intervallar, ultra sürətli, «səs-küy olmadan» - bayraqlar.
Əlaqələr qrafiki: ümumi cihazlar/IP/ödənişlər → klasterlər; hold mükafatlar, əl yoxlama.
Kvotalar və kaplar: N ən yaxşı cəhd/gün, bir slot/provayder üçün kvotalar, kaps gözlük per spin/gün.
Bonus vəsaitləri: əmsallar/istisna.
RG: xallar yalnız könüllü limitlər daxilində hesablanır (vaxt/depozitlər/itkilər); fasilələri xatırlatmaq.
11) Multi-region və fasilə müqaviməti
Regionlar üzrə aktiv-aktiv: regional şarlar + qlobal yığma; yaxınlıq marşrutu.
RTO/RPO: RTO <15 dəq (snepshots folback), RPO = 0 hesablamalar üçün (idempotent log replay).
Partition-tolerance: şəbəkə fasiləsində - yerli liderbord, sonrakı konsolidasiya və mövqelərin yumşaq korreksiyası.
FX və valyutalar: mükafatlar müxtəlif valyutalarda olarsa - çevirmə anını qeyd edirik, FX bufer 1-3%.
12) Təhlükəsizlik və məxfilik
Məlumatlar: minimallaşdırma (aqreqatorda PII olmayan təxəllüslər), «uçuşda» və «istirahətdə» şifrləmə.
Giriş: Ən kiçik imtiyazlar prinsipi, KMS-də sirlər, giriş auditi.
T & S/yurisdiksiya: qaydaların/versiyaların qeydləri, geo-bloklar, yaş məhdudiyyətləri.
13) Müşahidə və SRE təcrübələri
SLO: UI-lag ≤ 300 ms p95, Claim-time ≤ 10 min p95, aptime ≥ 99. 9%.
Metriklər: events/sec, dublların nisbəti/rədd, late-rate, heap-artım top K, axın gecikməsi, hesablama səhvləri, claim-rate.
Trace: (ingest → scoring → cache → UI).
Alerts: stop düyməsi (disable ağır təcrübələr/ən yaxşı N azaltmaq), avtomatik deqradasiya.
Post-mortem: 24-48 saat ərzində RCA, action items siyahısı, error-budget policy.
14) Rewards & Claim
Avtonaqrad: close-hadisə zamanı - mövqelərin hesablanması, verilməsi, qəbzlər.
Claim-pəncərə: 72 saat ≤, çatdırılma retrası, müəyyən edilmiş ödəniş qaydası.
Şəffaflıq: profildə mükafatların tarixi: qayda, vaxt, məbləğ, mənbə.
Holds: KYC/AML qədər nadir/qiymətli mükafatlar üçün.
15) A/B-eksperimentlər və sxemlərin təkamülü
Test etmək üçün nə var: N ən yaxşıları (10/20), cap per spin (on/off), müxtəliflik bonusu (0/50/100), aqreqasiya növü (cəmi/median).
Randomizasiya: regionlar/kanallar/klasterlər üzrə - axınlardan qaçırıq.
Guardrails: RTP, şikayətlər/10k, RG siqnalları - pisləşmir.
Miqrasiyalar: saxlama sxemlərinin uyğunluğu, miqrasiya zamanı ikili qeyd (dual-write).
16) UX-nümunələri real vaxt reytinqləri
Reytinq mərkəzi: qələbə qaydası, taymer, hesabınız, qalan cəhdlər, next reward.
Canlı fidbek: «x3 üçün + 40 xal», «20 cəhddən 2-si qalıb», «3-cü yerə qalxdın».
Vitrinlər: ümumi top 100, «mənim mövqeyim», «günün/divizionun zirvəsi», komandaya töhfə.
A11y: kontrast, böyük rəqəmlər, fokus-steyt, tərəqqinin səsləndirilməsi.
Lokalizasiya: yerli TZ-də son tarixlər/zamanlayıcılar, çoxdilli.
17) Tez-tez uğursuzluqlar və deqradasiya ssenariləri
18) Real-time reytinqlərin başlanğıc çek siyahısı
Qaydalar/İqtisadiyyat
- Formula, ən yaxşı N, tay-breyk, bölmə
- RewardRate, ödənişlərin eni, veycerlər, claim ≤ 72 saat
Texnika
- İdempotent Ingest, Late-window, Charding
- Stream-Aggregator (топ-K/Top-M), Snapshotter
- Hot Cache/Edge, Health/Status API, stop düyməsi
Təhlükəsizlik/RG
- Davranış skoru, əlaqələr qrafiki, kaplar/kvotalar
- RG limitləri, xatırlatmalar, böyük mükafatlar üçün KYC/AML
Məlumat/A/B
- Daşbordlar: lag, late-rate, dubli, fairness-metriklər
- Təcrübə planı və guardrails, miqrasiya zamanı dual-write
UX
- Reytinq mərkəzi, mikro-fidbek, A11y, lokalizasiya
- Qısa qaydalar 1 ekran + tam T&C
Etibarlı real vaxt reytinqi bir xidmət deyil, nizam-intizamlı ekosistemdir: idempotent qəbulu, versiyalaşdırıla bilən skorinq, top-K axını aqreqasiyası, sürətli keşlər, vəziyyət şəkilləri və daxili anti-frod/RG mexanizmləri. A/B vasitəsilə ciddi SLO/SLA, anlaşılır UX və dəyişiklik yoxlaması əlavə edin - və oyunçuların güvəndiyi lider panelləri alacaqsınız və məhsul Retention, Stickiness və LTV-nin proqnozlaşdırıla bilən artımını əldə edəcəkdir.