Iş hereketlendirijisi
1) Näme üçin hereketlendiriji gerek?
iGaming-de köp sanly amallar bar: goýum/aýyrmak, KYC/AML, stawkalary/settllary gaýtadan işlemek, ýeňijilere tölegler, frodlara garşy derňewler, bonus kampaniýalary, waka-dolandyryş. Workflow Engine olary şeýle edýär:- Öňünden aýdyp boljak: ädimler, statuslar, SLA we jogapkär.
- Ygtybarly: idempotentlik, retra, kompensasiýa, möhlet.
- Aç-açan: metrikler, ýollar, audit, düzgünleşdirijiler üçin subut edilip bilinjekdigi.
- Netijeli: rutini awtomatlaşdyrmak + adam düzgünlere laýyklykda birikdirilýär.
2) Esasy ýörelgeler
Orchestrate the critical, choreograph the rest: kritiki zynjyrlar (tölegler/netijeler/settl) - merkezleşdirilen orkestriň aşagynda; möhüm däl wakalar - horeografiýa arkaly (pub/sub).
Idempotentlik hemme ýerde: her ädim 'idempotency _ key' -ni alýar we netijeleri saklaýar.
SLA-habarlylyk: ädim ätmek üçin wagt we umumy möhlet kesgitlenildi; taýmerler boýunça möwjemeler.
Compensate, don 't rollback DB: daşarky täsirler üçin - saga/kompensasiýa.
Human-in-the-loop: resmileşdirilen "dar derwezeler" (appruwlar, 4-eyes, SoD).
Policy-as-Code: ugrukdyryş, ileri tutulýan ugurlar, şahalaryň şertleri - syýasatlarda.
Syn edilmegi: Her tabşyrykda SLI/SLO, treýsler we audit bar.
3) Predmet meýdanynyň nusgasy
3. 1 Esasy zatlar
Process (Proses): uzak ömürli orkestr (minut/sagat/gün).
Task (Wezipe): atom operasiýasy (hyzmat/adam).
Activity (Işjeňlik): (service/human/decision).
Signal/Event: daşarky wakalar (PSP-webhuk, KYC-jogap, ulanyjy hereketi).
Wagt: möhletler, ýatlatmalar, döwürleýin.
Context: ygtybarly töleg prosesi (tenant, sebit, KYC-id, çäkler, töwekgelçilik-skor).
3. 2 Wezipeleriň ýagdaýy
`scheduled → running → (succeeded | failed | timed_out | cancelled | compensated)`
4) Binagärlik nusgalary
Prosesleriň orkestratory: merkezi hereketlendiriji ýagdaýy, wagtlary, nobatlary, ugrukdyryşy saklaýar.
Ýerine ýetirijiler (workers): domen wezipeleriniň nobatynda gol çekilen stateless-hyzmatlar (Payments, KYC, Risk, Games).
Saga: Her "güýçli" amal üçin ters (kompensasiýa) bar.
Outbox/Inbox: daşarky ulgamlar bilen "exactly-once" integrasiýasynyň kepillikleri.
Command/Callback: Meseleler buýruklar tarapyndan başlanýar; netijeler - kolbekler/webhuklar boýunça.
Feature flags: şahalary dinamiki saýlamak (mysal üçin, alternatiw PSP).
Ugrukdyrma: 'trace _ id' ähli jaňlar bilen.
5) Kepillikler we durnuklylyk
At-least-once wezipeleri ýerine ýetirmek + işläp taýýarlaýjylaryň idempotentligi.
Jitter we çäkli býudjetli retralar (per-task, per-process).
Taým-autlar: 'task _ timeout' <SLA ädim; 'process _ deadline' <kadalaşdyryjy möhlet.
Gisterezis we backoff: tupandan goramak.
Circuit-breakers: "gyzyl" garaşlylyk ýagdaýynda retraýlary togtatmak.
Dede-letter (DLQ): doly kontekstli seýrek şowsuzlyklary el bilen sökmek üçin.
6) Adaty prosesleriň katalogy (iGaming)
1. Depozit: init → 3DS/auth → capture → ledger → bonus-karzlar → habarnama → antifrod-barlag (asinhron).
Kompensasiýa: ýatyryş/cancel, storno, bonusyň yzyna gaýtarylmagy.
2. Serişdeleri çykarmak: haýyş → töwekgelçilik hasaby → 4-eyes appruv → töleg şlýuzy → tölegleriň sanawy → habarnama.
Öwezini dolmak: yzyna almak, gaýtadan marşrut, hasabyň freeze.
3. KYC/AML: resminamalary ýygnamak → üpjün ediji 1 → fallback üpjün ediji 2 → el bilen barlamak → netije/TTL.
4. Stawka/settl: ätiýaçlyk → koeffisiýenti düzetmek → tassyklamak → settl/hasaplaşyk → töleg.
5. Bonus kampaniýasy: nyşana almak → kuponlary çykarmak → işjeňleşdirmek → býudjet gözegçiligi → ekspirasiýa/ýatyrmak.
6. Waka-proses: detekt → klassifikasiýa P1-P4 → war-rum → hereketler → ýapylyş → post-mortem.
7) Ädimiň dizaýny (Task Spec)
Idempotent açary: 'task _ id' + iş açary (mysal üçin 'withdrawal _ id').
Deslapky sözler: işe girizmegiň şertleri (maglumatlar, çäkler, baýdaklar).
Hereket: RPC/HTTP/gRPC/nobat buýrugy.
Netijäni gaýtadan işlemek: üstünlikli/bölekleýin/ýalňyşlyk/wagt çykyşy.
Retraýlar: strategiýa (exp backoff + jitter), iň köp synanyşyk.
Öwezini dolmak: ters hereket/howpsuz ýagdaýa geçmek.
Audit: näme, kim tarapyndan/näme bilen, haçan we näme üçin; öň/soň.
8) Human-in-the-loop
Gurlan human-tasks: çek sanawy, goşundylar, maslahatlar (runbook), RACI.
SoD/4-eyes: gabat gelmeýän rollar, P1/P2 üçin iki appruver.
SLA: hereketsizlikde güýçlenmek (taýmerler, toparyň üýtgemegi, auto-decline/approve in low-risk).
Aragatnaşyk: zerur kanallara bildirişler, Comms Lead arkaly P1/P2 status sahypasy.
9) SLA, ileri tutulýan we meýilleşdiriji
Ileri tutulýan ugurlar: P1 (derrew) → P2 → P3 (fon).
Kwotalar: per-tenant/sebit/üpjün ediji; nobatyň "tutulmagyndan" goramak.
Möhletler: bir ädim we proses; möhletiň geçmegi → kompensasiýa/eskalasiýa.
Döwürleýin: cron-prosesler (sanawlary ýapmak, bonuslary ulanmak, düzgünleşdirijilere hasabat bermek).
QoS synplary boýunça nobatlar: hakyky wagt (A), iş otagy (B), analitik (C).
10) Syýasatlar we DSL
Policy-as-Code: Rego/YAML/JSON-DSL şahalary, PSP marşrutlary, SoD talaplary, çäkleri üçin.
Wersiýalaşdyrmak: işjeň ýagdaýlary kesmezden v1 → v2 prosesleriniň göçmegi.
Kanary-syýasatlar: täze şahada traffigiň bir bölegi; SLI boýunça rollback.
11) Maglumatlar, gizlinlik we gabat gelmek
Kontekstiň minimallaşdyrylmagy: prosesde - diňe zerur meýdanlar; PII - tokenizirlenen.
Geo-aware saklamak: ýurisdiksiýalar boýunça (GDPR we ýerli düzgünler).
TTL we retenşn: magazinesurnallar, artefaktlar we resminamalar üçin dürli.
Eksport: diňe şifrlemek, bilet we SoD bilen workflow.
Audit: üýtgemeýän loglar (WORM), wakalaryň baglanyşygy.
12) Gözegçilik etmek we hil gözegçiligi
SLI/SLO prosesi: tamamlanmagyň paýy, ortaça/95-nji dowamlylygy, SLA bozulmalary.
Wezipeleriň ölçegleri: üstünlik/ýalňyşlyk/retrailer/wagt-autlar, nobatdaky ýaş.
Söwda: ädimlerde ýatmak, tölegler/oýun wakalary bilen baglanyşyk.
Daşbordlar: Exec (SLA/ýalňyşlyklar býudjeti, dar ýerler), Ops (nobatlar/lag, retralar, DLQ), Risk/Payments (PSP-şahalar, appruwlar).
Anomaliýalar: STL/CUSUM/CPD dowamlylygy we ýalňyşlyklary; awto-skeýl/feýlower.
13) Bahasy (FinOps Workflow)
$/prosesi, $/wezipe, $/retray.
Optimizasiýalar: pes ileri tutulýan ädimler, wakalary jemlemek, uzyn proseslere çäkler, köne maglumatlary arassalamak.
Kwotalar: per-tenanty işe girizmek/saklamak; showback/chargeback.
14) Howpsuzlyk
IAM/ABAC: rollar we atributlar boýunça proseslere/wezipelere girmek (tenant/sebit/gurşaw).
PAM/JIT: el bilen ädimler üçin wagtlaýyn artykmaçlyklar.
Webhuklaryň we soraglaryň goly: HMAC/mTLS.
Gorag hereketleri: anomaliýalarda PII eksport awto-bloky; duýgur şahalara dual control (PSP-routing, töleg çäkleri).
15) Integrasiýa
Töleg üpjün edijileri (PSP): buýruklar/webhuklar, fallback-marşrut.
KYC/AML: üpjün edijiler, el nobatlary, düzgünleşdiriji möhletler.
Oýun üpjün edijileri: settl/reporting, kanal gijikdirmelerini gaýtadan işlemek.
Waka-platforma/status-sahypa: kartlary awtomatiki döretmek/täzelemek.
Release-gates: "gyzyl" proseslerde howply neşirleri petiklemek.
16) Şablon katalogy (DSL bölekleri)
Service task (HTTP):yaml type: http id: payments_auth retry:
max_attempts: 5 backoff: exponential_jitter timeout: 2s idempotency_key: ${process. deposit_id}
on_fail: compensate: cancel_auth
Human task (4-eyes):
yaml type: human id: withdrawal_approve sod: true approvers: [Risk, Finance]
sla: 2h on_timeout: escalate: L2
Compensation saga:
yaml saga:
do: [reserve_funds, capture, ledger_post]
undo: [ledger_revert, refund_capture, release_funds]
17) Durmuşa geçirmegiň ýol kartasy (8-12 hepde)
Ned. 1–2:- Prosesleriň (depozit/çykaryş/KUS/settl), SLA maksatlarynyň, töwekgelçilik synplarynyň inventarizasiýasy.
- Hereketlendirijini/çemeleşmesini saýlamak (orkestrator + nobat + ýagdaý ammary).
- MVP: iki saga ýaly goýum we çykarmak; dempotent işläp taýýarlaýjylar; DLQ; esasy metrikler/söwdalar.
- Human-tasks (4-eyes) netijeler üçin; PSP ugrukdyrmak üçin Policy-as-Code; wagtlar we möhletler.
- Syn edilmegi (SLO/daşbordlar), dowamlylygy boýunça anomaliýalar, workerleriň awto-skeýli; waka-platforma/status-sahypa bilen integrasiýa.
- Gabat gelmek: gizlinlik/TTL/WORM barlagy; eksport-workflow; SoD/ABAC.
- Bahany optimizirlemek, pikleriň perf-synaglary, tabletop-maşklar, şablonlar kitaphanasy.
18) KPI/KRI funksiýalary
SLA - amallary ýerine ýetirmek, MTTP (mean time to process).
El bilen gatnaşmazdan awtomatiki tamamlamalaryň paýy.
Retried/Task ratio, DLQ rate, Compensation rate.
Iş wagty (human-tasks) we% gijikdirme.
Bahasy: $/proses, $/wezipe, $/retray.
Töwekgelçilik signallary: yzyna almak/goýumlar boýunça anomaliýalar, SoD laýyk gelmezlikler.
19) Antipatternler
Bir monolit prosesi "hemme zada" ölçemek we üýtgetmek kyn.
Idempotentlik bolmazdan retraýlar → tölegleriň/hereketleriň dubly.
Möhletler/eskalasiýa ýok → asylan netijeler/KUS.
PII-ni TTL we gizlemezden saklamak.
Awtomatlaşdyrmazdan "kagyz ýüzünde" öwezini dolmak.
Yzarlamanyň we auditiň ýoklugy → dogrudygyny subut etmek mümkin däl.
Jemi
Iş prosesleriniň hereketlendirijisi - işewürlik amallarynyň durmuş siklini dolandyrmagyň ulgamy: möhüm ýollaryň orkestrlenmegi, durnuklylyk (idempotentlik, retraý, saga), adamlaryň resmi taýdan gatnaşmagy, howpsuzlyk we laýyklyk syýasaty, ahyrky gözegçilik we çykdajylara gözegçilik. Şeýle konturlar iGaming platformasyny iň ýokary derejelerde öňünden aýdyp boljak, hadysalarda çalt we düzgünleşdirijiler we hyzmatdaşlar üçin ynandyryjy edýär.