GH GambleHub

Mazmun katalogynyň hereketlendirijisi

Katalogyň hereketlendirijisi, öňdäki oýunlaryň we mahabat saýlamalarynyň özenidir: üpjün edijilerden (RGS) meta maglumatlary ýygnaýar we kadalaşdyrýar, gözleg/süzgüç/reýtingi üpjün edýär, ýurisdiksiýalara we markalara elýeterlilik düzgünlerini ulanýar, şahsylaşdyrma we mahabat oýunlaryny garyşdyrýar we soňra API arkaly çalt jogap berýär öňünden aýdyp boljak SLO.


1) Maksatlar we ýörelgeler

Çalt okamak: katalog/gözleg soralanda p95 ≤ 100-150 ms.
Hakykat we täzelik: esasy atributlaryň kepillendirilen aktuallygy (elýeterlilik, jekpotlar, provaýder statuslary).
Çeýeligi: Redaktor kolleksiýalary we mahabat slotlary.
Laýyklyk: geo/ýaş/mazmun düzgünleri, ygtyýarnama, jogapkär oýny çäklendirmek.
Multi-tenant/region: markalaryň izolýasiýasy we data residency.
Syn edilişi: berlen hiliň metrikleri, A/B, oýna/stawka öwrülişik.


2) Domen modeli (iň az)

Mazmuny:
  • Game - üpjün edijiniň oýny/önümi.
  • Provider - RGS/studiýa.
  • Variant - bir oýnuň warianty (üýtgewsizlik, çyzyklar, çäkler, serwer).
  • Collection - redaksiýa/awtomatiki saýlama (mysal üçin, "Täze zatlar", "Jekpotlar").
  • Placement - sahypada/slotda berkidilen pozisiýa/banner/taýl.
  • Capability/Feature - oýnuň atributlary (free spins, buy feature, jackpot).
  • JurisdictionRule - elýeterlilik/çäklendirmeler düzgünleri.
  • Signals - özüni alyp baryş/operasiýa signallary (meşhurlyk, CTR, revenue).
  • Asset - enjamlar/dykyzlyklar üçin wariantlary bolan media (nyşanlar, afişalar, demo wideolar).

Açarlar: 'game _ id' (içerki durnukly, deň däl provider_game_id), 'tenant _ id', 'region', 'locale'.


3) Ingest we kadalaşmak

Konweýer:

1. Source Adapters (puller): RGS/studiýalar bilen integrasiýa (kataloglar, çyzgylar, RTP, bellikler).

2. Sanitize & Map: daşarky meýdanlary ýekeje sözlüge (ACL) ibermek, tassyklamak we aýyrmak.

3. Enrich: lokalizasiýalar, kategoriýalar, semantik bellikler, ýaş çäklendirmeleriniň reýtingleri.

4. Moderate: bazarlar boýunça mazmun baýdaklary (NSFW/dini nyşanlar/duýgur temalar).

5. Publish: 'GameUpserted/ProviderStatusChanged' → katalog proýeksiýalary.

Idempotentlik: ähli habarlar 'source _ id' + 'version _ ts'; gaýtalamak zyýanly täsirsiz işlenilýär.
Ewolýusiýa shemasy: 'schema _ version' adapterlerde + mapper migrasiýasynda.


4) Kadalaşdyrylan shema (ýönekeýleşdirilen)

json
{
"game_id": "g_3f92",
"tenant_id": "brand_eu",
"provider": { "id": "pr_evolution", "name": "Evolution" },
"title": { "en": "Lightning Roulette", "de": "Lightning Roulette" },
"capabilities": ["live","roulette","multiplier","bonus"],
"rtp": 97.3,
"volatility": "high",
"limits": { "min": 0.1, "max": 1000.0, "currency": "EUR" },
"jurisdiction": {
"allowed": ["MT","EE","DE"],
"blocked": ["NL","BE"],
"age_rating": 21
},
"assets": {
"tile": { "1x":"...", "2x":"..." },
"poster": { "web":"...", "mobile":"..." }
},
"tags": ["new","jackpot"],
"release_date": "2025-09-12",
"status": "active",
"variants": [{ "id":"v1","server":"eu-central-1","rtp":97.3 }]
}

5) Gözlemek, süzgüçler, fasetler

Indeksler: ady/sinonimleri boýunça doly tekst, 'provider', 'capabilities', 'volatility', 'rtp _ bucket', 'tags' fasetleri.
Süzgüçler: ýurisdiksiýa/sebit/dil/enjam/ýaş, diňe işjeň/kepillendirilen.
Sinonimler/stemming: ulanyjy terminleriniň kartasy ("kitaplar", "miweler", "toplar").
Ýalňyşlyklar: tolerant search (edit distance ≤ 1-2) uzynlygy çäklendirilen.


6) Reýting: signallar we formula

Signallar (mysal):
  • Freshness (goýberilen wagt).
  • Meşhurlyk (başlangyç/sagat, özboluşly oýunçylar).
  • Quality (katalogdan oýna CTR, 1/7 gün saklamak).
  • Business (marketing güýçlendirijileri, geleşikler, mahabat slotlary).
  • Compliance (zerur bolsa duýgur mazmun üçin ýumşak peseltmeler).
  • Player-fit.
Kombinasiýa:

score = w1freshness + w2popularity + w3ctr + w4player_fit + w5boost

Agramlar konfigurasiýa/synaglar arkaly dolandyrylýar; ähli signallar [0; 1].


7) Şahsylaşdyrmak

Gysga ýat: iň soňky başlangyçlar we resanrlar, RYW - ulanyjy täze hereketleri derrew görýär.
Uzak ýat: oýunlaryň we oýunçynyň profiliniň embeddingleri (oýun reanrlary/üýtgewsizlik/sessiýalar).
Howpsuzlyk: şahsylaşdyrmak hiç haçan ýurisdiksiýa/ýaş kadalaryny bozmaýar.
Fallback: signallar az bolsa - bitarap reýting + redaktor kolleksiýalary.


8) Kolleksiýalar we mahabat-pleýsmentler

Kolleksiýalar:
  • Awto: düzgün/haýyş (mysal üçin, 'capabilities contains' jackpot 'AND release_date> = NOW () -30d').
  • Redaktorlar: tertibi we möhletleri bilen el sanawy.
  • Pleýsmentler: sahypalarda berkidilen pozisiýalar (hero, row-1-slot-3), A/B, segmentler/ýurisdiksiýalar boýunça nyşana almak.
  • Möhletler we ileri tutulýan ugurlar: 'starts _ at/ends _ at', gapma-garşylyklaryň ileri tutulýan ugry, çap etmezden öň öňe gidişlik.

9) Laýyklyk we elýeterlilik syýasaty

Geo/ýurisdiksiýa: ýurtlaryň/sebitleriň ak/gara sanawlary, ygtyýarnamalaryň/şahadatnamalaryň barlagy.
Ýaş reýtingi: iň pes ýaş, duýduryş, gabat gelmeýän bazarlar üçin gizlenmek.
Mowzuk/nyşan: ýurt boýunça duýgur mazmunyň baýdaklary (din, alkogol we ş.m.).
Jogapkär oýun: çäkli/wagt-aut oýunçylary üçin gizlenmek/peseltmek.
Audit: sebäpler bilen elýeterliligiň üýtgemeýän üýtgemegi.


10) Köp tenant we köp sebit

Ähli maglumatlar 'tenant _ id' we 'region' bilen bellendi.
Izolýasiýa: sebitler boýunça kworumlar/ammar; kross-sebit proýeksiýalary - diňe agregatlar.
Fairness: "şowhunly" marka galanlary gijikdirmezligi üçin ingest/per tenant neşirleri üçin kwotalar.


11) Binagärlik kontury

Katalogyň Write-özeni (CP): kadalaşma + amallar outbox.
Proýeksiýalar/Read Models (EC): gözleg indeksleri, materiallaşdyrylan kolleksiýalar, meşhurlyk hasaplaýjylary.

Gizlin gatlaklar:
  • "Sowuk" sahypalar/şekiller üçin Edge/CDN.
  • Gyzgyn soraglar üçin In-memory keşleri (key = süzgüçler + sahypa + tenant + region).
  • Fiçeflaglar: reýting/kolleksiýalary goýbermezden kärendesine almak.

12) API (REST/GraphQL, mysallar)

REST


GET /v1/catalog?tenant=brand_eu&region=EE&locale=ru
&filter=jackpot,true&sort=score_desc&page=1&size=24
→ 200 { items:[...], facets:{...}, as_of:"2025-10-31T12:10:02Z" }

GraphQL (bölek)

graphql query Catalog($tenant:String!,$region:String!,$q:String,$filters:Filters){
catalog(tenant:$tenant, region:$region, q:$q, filters:$filters){
items { gameId title provider { name } score badges assets { tile } }
facets { providers { key,count } capabilities { key,count } }
freshnessMs
}
}
Şertnamalar:
  • Elmydama 'as _ of/freshnessMs', page, faset beriň.
  • Şahsylaşdyrmak üçin - PII-siz sessiýanyň (RYW) markeri.

13) Signallar we maglumatlaryň akymy

Meşhurlyk: oýunlar başlananda inkrementler → minutlyk baketler → proýeksiýadaky agregatlar.
CTR/öwrülişik: pleýsmentlerde/kolleksiýalarda basmak/başlamak hasaplaýjylary.
Amal ýagdaýlary: üpjün edijileriň saglygy (RGS), jekpotlar/çäkler (wakalaryň akymy).
Marketing-güýçlendirijiler: oýunlar/kategoriýalar/üpjün edijiler üçin wagtlaýyn koeffisiýentler.


14) Synlamak we SLO

Katalogyň ölçegleri:
  • `catalog_p95_ms`, `catalog_p99_ms`, `error_rate`.
  • 'index _ freshness _ ms' (taslamanyň gijikdirilmegi), 'ingest _ lag _ ms'.
  • 'ctr', 'click-to-launch', 'collection _ coverage' (% ýygnamak).
Şahsylaşdyrma:
  • `lift_ctr`, `lift_conversion`, «explore vs exploit» доля.
Utgaşma:
  • Dogry ulanylan geo/ýaş düzgünleri%, bloklaryň sany/sagat.

Alertler: 'ingest _ lag _ ms' ösüşi, esasy kolleksiýalarda CTR-iň düşmegi, üpjün edijiniň pese gaçmagy (berlen bellikler).


15) Öndürijilik we kesmek

Strategiýa: gyzgyn soraglar - süzgüç açary bilen 30-120 keş; şahsy bloklar - gysga TTL (10-30 s) ýa-da keshsiz.
Maýyplyk: 'GameUpserted/AvailabilityChanged/PlacementUpdated' wakalary boýunça.
Paginasiýa: signallar täzelenende kartoçkalaryň "bökmezligi" üçin durnukly kursorlar.


16) Metbugat bilen işlemek

Render profilleri: web/mobile/TV üçin ölçegler/dykyzlyklar.
Optimizasiýa: WebP/AVIF, lazy-load, plitkalar üçin sprite/atlas.
Mazmun howpsuzlygy: skaner, suw bellikleri, inline-PII gadaganlygy.


17) Synag

Adapterler we API üçin Contract/Schema tests.
Relevancy tests: altyn soraglar toplumy → garaşylýan netijeler/tertip.
Şahsylaşdyrma: offline AUC/NDCG + online A/B guardrail-metrikler bilen (oýunda wagt, goýumlar, RG-signallar).
Chaos: üpjün edijileriň zaýalanmagy, ingest partlamalary, indeksirlemegiň gijikdirilmegi.


18) Oýun kitaplary (runbooks)

1. Indeks lag> SLO: ikinji derejeli kolleksiýalary duruzmak, ingest-iň ileri tutulmagyny ýokarlandyrmak, reýtingi wagtlaýyn ýönekeýleşdirmek.
2. "Gyzyl" üpjün ediji: onuň oýunlaryny peseltmek/gizlemek, alternatiw kolleksiýalary ýokarlandyrmak.
3. API ýalňyşlyklarynyň bökmegi: keş/arka tarapy barlamak, gorag wagtlaryny açmak, sahypalaryň ululygyny azaltmak.
4. Nädogry elýeterlilik: soňky düzgüni yzyna almak, möhüm bazarlaryň "ak sanawyny" goşmak, üýtgeşmeleriň auditini geçirmek.
5. Reýtingiň çykmagy: kanar rollout (5% → 25% → 50% → 100%), CTR/konwersiýa boýunça yza gaýdyp gelmek.


19) Adaty ýalňyşlyklar

Signallary we A/B. bozmazdan ýeke-täk "jadyly" reýting formulasy

Üpjün edijileriň daşarky shemalaryny içerki model bilen garyşdyrmak (ACL ýok).
'as _ of/freshness' → "köne" katalog barada jedelleriň ýoklugy.
Ýurisdiksiýa düzgünlerini bozýan şahsylaşdyrma.
Uly sahypalar kesişmezden we kursorsyz → p99 "atylýar".
Wakalaryň ýerine indeksde we OLTP-da dual-write.


20) Azyk önüminden öň çek-sanawy

  • Ähli üpjün edijiler üçin adaty meýdan we ACL sözlügi.
  • Idempotent ingest, outbox/inbox, DLQ we redrave.
  • Täzelik SLO bilen katalog proýeksiýalary we gözleg indeksleri.
  • Dolandyrylýan agramlar bilen reýting, signallaryň çüýremegi we A/B.
  • Ylalaşyk düzgünleri (geo/ýaş/tema) we üýtgeşmeleriň barlagy.
  • Köp tenant/sebit: maglumatlaryň izolýasiýasy, fairness, residency.
  • API 'as _ of', faset, kursor; keş we wakalar boýunça maýyplyk.
  • Metrikler p95/p99, ingest/indeksasiýa, CTR/öwrülişik; alertler.
  • Wakalaryň oýun kitaplary; kanareýa relizleri we fiçeflaglar.
  • Degişlilik, şertnamalar, bulam-bujarlyk we şahsylaşdyrma synaglary.

Netije

Katalogyň hereketlendirijisi - oýun mazmunynyň üstünde "gözleg motory + düzgün ulgamy + vitrin". Güýçli ACL, kadalaşdyrylan maglumatlar, çalt okamak üçin proýeksiýalar, aç-açan reýting signallary, guardrail-metrler bilen şahsylaşdyrmak we berk laýyklyk katalogy önümçilikde garaşylmadyk we düzgünleşdirijiler bilen eglişiksiz durnukly we ölçelip boljak önüm ösüş güýjüne öwürýär.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.