Real vaqt reytinglari: texnik arxitektura
Real-taym reytingi - bu halollik, tinglanuvchanlik va iqtisodiy boshqaruvni saqlab, millionlab o’yin tadbirlarini yuzlab millisekundlarda yangilanadigan pozitsiyalarga aylantiradigan xizmatlar to’plami. Quyida - talablardan foydalanishgacha boʻlgan amaliy konstruktor.
1) Talablar va maqsadli ko’rsatkichlar
UI: ≤ 200-300 ms p95 gacha bo’lgan masofa.
Aniqlik: yuk va nosozliklarda "eng yaxshi N "/divizionlar/tay-breyklarning to’g" ri hisobi.
Foydalanish imkoniyati: 99 ≥. turnir davrida 9%; yaxlitligini yo’qotmagan holda degradatsiya qilish.
Idempotentlik: «aynan bir marta» hisoblash darajasida, «kamida bir marta» transportda.
Ko’lami: mintaqalar/divizionlar/jamoalar bo’yicha gorizontal o’sish (sharda top-K).
Audit: qoidalar, hodisalar, hisoblar va berishlarning o’zgarmas loglari.
2) Tizim sxemasi (10 000 ft daraja)
Клиент → 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) Voqealarni qabul qilish (Event Ingest)
Vazifalar: dubl, portlash, tarmoq yoʻqotishlaridan himoya qilish.
Idempotentlik: har bir hodisa’event _ uid’ga ega; tekshirish «koʻrdi/hisobladi».
Yetkazib berish semantikasi: transport - at-least-once, ko’zoynak hisobi - exactly-once.
Backpressure: dinamik partiyali navbatlar; qayta yuklashda - «faol» turlarni ustuvorlashtirish.
Vaqtinchalik oynalar: late events (masalan, 90 sekundgacha) - «qayta hisoblash oynasi» ga yo’naltiriladi.
Vaqt: server UTC, mijozda - faqat lokal koʻrsatiladi.
4) Ochkolarni hisoblash (Scoring Engine)
Printsiplar: versiyalashtiriladigan qoidalar, anti-to-win, engil orqaga qaytish.
Version:’rule _ set _ id’+ feature-flags per-region/division.
Modellar: multiplier (’Score = round (100log2 (Win/Bet + 1))’), log-egri chiziqli win-based, wager-based (faqat fon metasi sifatida).
«Eng yaxshi N «ni hisobga olish: har bir o’yinchi/kun/tur uchun top-N tuzilmasini saqlab qolish; formati bo’yicha medianni jamlash.
Istisnolar: bonus mablag’lari’coef _ bonus ≤ 0. 5’yoki’0’; kap per spin/day; provayderga kvotalar.
Tay-breyk: 1) yakuniy tezlikka ertaroq erishish; 2) ko’proq xilma-xillik; 3) determinirlangan seed.
5) Oqim-agregatsiya va top-K
Maqsad: butun toʻplamni skanerlamasdan pozitsiyalarni tezda qayta sanash.
6) Saqlash: write vs read
Write-optimized store: hisob-kitoblar jurnali, «best-N» holatlari, tay-breyklar, meta-ma’lumotlar (faqat yozuv/yangiliklar).
Read-optimized store (Query): UI uchun denormallashtirilgan «vitrinalar»: top-100, «mening pozitsiyam», «top kun/divizion», jamoaga hissa qo’shish.
Rasmlar (Snapshotter): liderbordning soatbay «snepshotlari»; tezkor rollback/replay, hisobotlar va audit.
Muvofiqlik: keng ro’yxatlar uchun eventual, «mening pozitsiyam» uchun read-your-writes.
7) Kesh va Edge
Issiq kesh: sharddagi o’yinchilarning so’nggi pozitsiyalari va hisobi; TTL 1-5 sek; hodisa bo’yicha nogironlik.
Edge qatlam/CDN: statik bloklar, «sovuq» natija sahifalari, lekin hisoblash mantig’i emas.
Fallback: tanazzulga uchraganda - «bronza rejimi»: har X soniyada UI + og’ir vidjetlar bloki yangilanadi.
8) Vaqt, deraza va taymzonlar
Yagona «haqiqiy» vaqt: UTC servislarda; UTC da muddatlar.
Lokalizatsiya: mijozdagi vaqtni oʻzgartirish (foydalanuvchining vaqt zonasi).
Chegaralar: tarmoq laglari uchun 1-3 daqiqa yopishning yumshoq oynasi (T&C).
Qo’ng’iroq qilaylik: clock-skew monitoring, NTP-alertlar, dreyfni o’lchash.
9) Kech va bir-birini takrorlaydigan voqealarga qarshi kurashish
Late events: «reconciliation window» tutamiz; lokal ravishda qayta sanash + bildirishnomalar lentasidan pozitsiyalarni «xotirjam» tuzatish.
Dubli:’event _ uid’+ (player, game, bet, ts) tor oynada; «seen» jurnali.
Hisoblashlarning idempotentligi: applied/rolled_back maqomiga ega «hodisa → oʻzgarishlar» tranzaksiyalari.
10) Anti-frod va RG (payplaynga o’rnatilgan)
Xulq-atvor skoringi: bir tekis oraliqlar, o’ta tezlik, «shovqinsiz» - bayroqlar.
Aloqa grafasi: umumiy qurilmalar/IP/to’lovlar → klastyerlar; mukofotlar xoldlari, qo’lda tekshirish.
Kvotalar va kaplar: N eng yaxshi urinishlar/kun, bir slot/provayderga kvotalar, kaplar ko’zoynak per spin/day.
Bonus mablag’lari: koeffitsiyentlar/istisno.
RG: ko’zoynaklar faqat ixtiyoriy limitlar doirasida (vaqt/depozitlar/yo’qotishlar) hisoblanadi; tanaffuslar haqida eslatmalar.
11) Ko’p mintaqa va nosozlikka chidamlilik
Hududlar bo’yicha aktiv-aktiv: mintaqaviy sharlar + global yig’ilish; yaqinlik bo’yicha yo’naltirish.
RTO/RPO: RTO <15 min (snepshotlar uchun folbek), hisoblash uchun RPO = 0 (logning idempotent replegi).
Partition-tolerance: tarmoq uzilishida - lokal liderbord, keyingi konsolidatsiya va pozitsiyalarni yumshoq tuzatish.
FX va valyutalar: agar turli valyutalardagi sovrinlar - konvertatsiya paytini qayd etsak, FX-bufer 1-3%.
12) Xavfsizlik va maxfiylik
Ma’lumotlar: minimallashtirish (taxalluslari, agregatorda PII yo’q), «parvoz» va «tinch» shifrlash.
Kirish: eng kichik imtiyozlar printsipi, KMS sirlari, kirish auditi.
T & S/yurisdiksiya: qoidalar/versiyalar loglari, geo-bloklar, yosh cheklovlari.
13) Kuzatuv va SRE amaliyotlari
SLO: UI-lag ≤ 300 ms p95, Claim-time ≤ 10 min p95, aptaym ≥ 99. 9%.
Metriklar: events/sec, dubllar/rad etilganlar ulushi, late-rate, heap-o’sish top-K, lag strim, hisoblash xatolari, claim-rate.
Treysing: (ingest → scoring → cache → UI).
Alertlar: to’xtash tugmasi (disable og’ir eksperimentlar/eng yaxshi N ni kamaytirish), avto degradatsiya.
Post-mortem: 24-48 soat uchun RCA, action items, error-budget policy roʻyxati.
14) Rewards & Claim
Avtomagrad: close-hodisada - pozitsiyalarni hisoblash, berish, kvitansiyalar.
Claim-oyna: 72 soat ≤, yetkazib berish retralari, to’lovlarning aniqlangan tartibi.
Shaffoflik: profildagi mukofotlar tarixi: qoida, vaqt, miqdor, manba.
Xoldlar: noyob/qimmatli sovrinlar uchun KYC/AML gacha.
15) A/B-eksperimentlar va sxemalar evolyutsiyasi
Nimani test qilish kerak: N eng yaxshi (10/20), kap per spin (on/off), xilma-xillik uchun bonus (0/50/100), agregatsiya turi (summa/median).
Randomizatsiya: hududlar/kanallar/klasterlar bo’yicha - oqimlardan qochamiz.
Guardrails: RTP, shikoyatlar/10k, RG-signallar - yomonlashmaydi.
Migratsiya: saqlash sxemalarining mosligi, migratsiya vaqti uchun ikki marta yozish (dual-write).
16) real-time reytinglarining UX-patternlari
Reyting markazi: gʻalaba qoidasi, taymer, hisob, qolgan urinishlar, next reward.
Jonli fidbek: «x3 uchun + 40 ball», «20 ta urinishdan 2 tasi qoldi», «3-oʻringa koʻtarilding».
Vitrinalar: umumiy top-100, «mening pozitsiyam», «eng yaxshi kun/divizion», jamoaga hissa qo’shish.
A11y: kontrast, katta sonlar, fokus-steytlar, progress ovozlari.
Lokalizatsiya: lokal TZ dagi muddatlar/taymerlar, koʻp tilli.
17) Tez-tez uzilishlar va degradatsiya stsenariylari
18) Real-time reytinglarni ishga tushirish cheklisti
Qoidalar/Iqtisodiyot
- Formula, eng yaxshi N, tay-breyk, divizionlar
- RewardRate, to’lovlar kengligi, veyjerlar, claim ≤ 72 soat
Texnika
- Idempotent Ingest, Late-window, shardalashtirish
- Stream-Aggregator (топ-K/Top-M), Snapshotter
- Hot Cache/Edge, Health/Status API, stop tugmasi
Xavfsizlik/RG
- Xulq-atvor skoringi, aloqalar grafigi, kapa/kvotalar
- RG-limitlar, eslatmalar, yirik sovrinlar uchun KYC/AML
Ma’lumotlar/A/V
- Dashbordlar: lag, late-rate, dubli, fairness-metriklar
- Eksperimentlar rejasi va guardrails, migratsiyalarda dual-write
UX
- Reyting markazi, mikro-fidbek, A11y, mahalliylashtirish
- 1 ekranda + to’liq T&C uchun qisqacha qoidalar
Ishonchli real vaqt reytingi - bu bitta xizmat emas, balki intizomli ekotizim: idempotent qabul qilish, versiyalashtiriladigan skoring, top-K strim-agregatsiyasi, tezkor kesh, holat tasvirlari va o’rnatilgan anti-frod/RG mexanizmlari. Qattiq SLO/SLA, tushunarli UX va o’zgarishlarni A/B orqali tekshirishni qo’shing - va siz o’yinchilar ishonadigan etakchi taxtalarni olasiz, mahsulot esa Retention, Stickiness va LTV o’sishiga erishadi.