GH GambleHub

Operatsiyalar va Boshqaruv → Avtomatlashtirilgan workflow

Avtomatlashtirilgan workflow

1) Nima uchun bu zarur?

Avtomatlashtirilgan mashg’ulotlar qo’l operatsiyalarini kamaytiradi, «g’oyadan pulgacha» tezlashtiradi va xato xavfini kamaytiradi. iGaming/fintech’da bu depozitlar/xulosalar, KYC/AML, bonuslar/jekpotlarni boshqarish, kontentni yangilash, noxush reaktsiya va orqa ofis vazifalari uchun juda muhimdir.

Maqsadlar:
  • Triggerdan natijagacha barqaror, shaffof kuzatiladigan jarayonlar.
  • Minimal qo’l qadamlari, prognoz qilinadigan jarayon SLO.
  • Xatolarni nazorat qilish: retralar, kompensatsion harakatlar, aniq eskalatsiyalar.
  • Hodisalar va yuklar bo’yicha «bo’ronlar» va dublikatlarsiz ko’paytirish.

2) Bazaviy terminologiya

Workflow (WF): biznes natijasiga erishish uchun qadamlar (tasks) zanjiri.
Orkestr: markaziy koordinator qadamlar va ularning tartibini boshqaradi.
Xoreografiya: qadamlar voqealarga ta’sir qiladi, «markaziy miya» yo’q.
Kompensatsiya: qisman muvaffaqiyatsizlikka uchraganda orqaga qaytish harakatlari.
HITL (Human-in-the-loop): WF ichidagi nazorat qilinadigan «qo’l echimlari».
Jarayonning SLOsi: muayyan WFni yakunlash/muvaffaqiyatga erishishning maqsadli vaqti (masalan, «95% depozitlar ≤ 3 sek»).


3) Qayerda qo’llash kerak (misollar)

To’lov floalari: depozitlar, antifrod, buxgalteriya hisobiga posting, bildirishnomalar.
KYC/AML: hujjatlarni yig’ish, provayderlar tomonidan tekshirish, komplayensda eskalatsiya.
Kontent/limitlarni boshqarish: o’yinlar, kvotalar, geo-qoidalarni e’lon qilish.
Bonuslar/jekpotlar: hisoblash, ushlab qolish, shartlarni hisoblash, to’lovlar.
Hodisalar: avto-diagnostika, qisqartirilgan chek-varaqlar, kommunikatsiyalar.
Maʼlumotlar/ETL: hisobotlarni yuklash, reconciliation, arxivlash.


4) Orkestrlash vs Xoreografiya

Filiallarning murakkab mantig’i, qat’iy SLOlar, aniq muddatlar/taymautlar, biznes uchun vizual «jarayon xaritasi» kerak bo’lganda orkestrlash mos keladi.
Xoreografiya - qachon: yuqori hodisalik, zaif bog’liqlik, bitta hodisaning ko’plab mustaqil iste’molchilari.

Gibrid: uzoq umr koʻradigan sagʻanalarni orkestrator boshqaradi, lokal reaksiyalar esa hodisalar orqali amalga oshiriladi.


5) Arxitektura prinsiplari

Idempotentlik: har bir qadam xavfsiz takrorlanishi kerak (idempotency-key, message-ID bo’yicha dedup).
Aniq taymautlar va retrajlar: backoff + jitter, urinishlar limitlari, faqat xavfsiz xatolar uchun retrajlar.
Kompensatsiyalar (saglar): qisman muvaffaqiyatsizlikka uchraganda zanjir bo’yicha qaytish.
Qadamlarni izolyatsiya qilish: bulkhead (alohida hovuzlar/tashqi daunstrimlarga limitlar).
Barcha tashqi qoʻngʻiroqlar uchun OpenAPI/AsyncAPI shartnomalari, CDC testlari.
WF versiyasi: eski instansiyalarning «ommaviy» tushishlarisiz kirish/chiqish ma’lumotlari sxemasini o’zgartirish.


6) Voqealar va triggerlar modeli

Trigger turlari:
  • domen hodisasi (’deposit. requested`),
  • jadval (cron),
  • qo’lda ishga tushirish (operator/sapport),
  • alertdan signal (hodisa-avto-mashg’ulot).
  • Kontekst:’trace _ id’,’workflow _ instance _ id’, foydalanuvchi/mintaqa, chicheflaglar versiyasi.
  • Kirish joyidagi arzon filtrlar: dubllarni erta validatsiya qilish va kesish.

7) Qadamlar dizayni (tasks)

Har bir qadam tavsiflanadi: kirish, chiqish, SLO, taymaut, urinishlar, retraj shartlari, kompensatsiya, huquq/sirlar.

Qadamning psevdo-tavsifi:

task: call_psp input: { user_id, amount, currency, idempotency_key }
timeout: 200ms retries:
max: 2 on: [5xx, connect_error]
backoff: exponential jitter: true compensation: reverse_authorization secrets: [PSP_TOKEN]
sla: p99 <= 300ms

8) Kompensatsiyalar va dostonlar

Lokal tranzaksiya + hodisa: «intent saqlash → voqeani nashr etish».
Kompensatsiya: avtorizatsiyani bekor qilish, bonusni qaytarish, balansni qayta hisoblash, chiptani yopish.
Kompensatsiyalarning o’zgaruvchanligi: takroriy bekor qilish invariantlarni buzmasligi kerak.


9) Xavfsizlik va sirlar

KMS/Secrets Manager: tokenlarni saqlash, rotatsiya, rollarga kirish.
Eng kichik imtiyozlar: WF-dvigatelga to’g "ri zarur bo’lgan xaridlar beriladi.
Vebxuk/kolbeklar imzosi: HMAC/JWS, taymstempni tekshirish.
Maʼlumot siyosati: log/trastirovkalarda PII maskalash, shifrlash.


10) Kuzatuv va SLO

Jarayon metrikasi:’workflow _ started/completed’,’success _ rate’,’aborted’,’mean/p95/p99 duration’, «osilgan» instantsiyalar, «dead letter».
Qadamlar metrikasi:’task _ latency’,’error _ rate’,’retry _ count’,’open _ circuit’,’cost _ per _ 1k _ calls’.
Izlash: har bir qadam uchun span, taglar’workflow. name`, `step`, `attempt`.
SLO: masalan, "depozitlarning 95% ≤ 3 sek, 99% ≤ 5 sek; abort ≤ 0. 3 %/sutka".
Dashbordlar: qadamlarning issiqlik xaritasi, «tor joylar», qaramlik xaritalari.


11) Konturli odam (HITL)

Mezonlar: bahsli keyslar (risk/AML), yirik to’lovlarni qo’lda tasdiqlash.
Muddatlar: qaror, eslatma/eskalatsiyani kutish vaqti.
Audit: kim/qachon/nima qaror qildi, asoslash, chipta bilan bog’lanish.


12) O’zgartirishlarni boshqarish va relizlar

Workflow versiyasi:’v1’va’v2’parallel; instansiyalarning ko’chishi mumkin emas - eskisini tabiiy yo’l bilan, yangi trafikni’v2’ga to’ldiring.
Kanar trafigi: 1% → 10% → 100%, metrik’success/p95/abort’.
Ficheflaglar: oldingi qadam/shoxni amalga oshirishga tez qaytish.
CDC/kontraktlar: oʻzgarishlar isteʼmolchilarni/provayderlarni buzmasligi uchun CI ga kirish.


13) Test sinovi

Unit qadamlar: ijobiy/salbiy + idempotentlik.
Contract tests: mok/steyj provayderiga qarshi.
WF-simulyatsiyalar: happy-path + timeouts, 4xx/5xx, «sekin provayder», hodisalarni yo’qotish, qisman xatolar.
Game-days: nosozliklarni in’ektsiya qilish (PSP/KYC tushishi, navbatlar orqasi, yopiq breyker).
Replay: migratsiyani tekshirish uchun tarixiy voqealarni takrorlash.


14) Hodisalar va avto-reaksiyalar

Hodisani avto-mashq qilish: metriklarni yig’ish, daunstrimlarni tekshirish, bildirishnomalar, workaround tayyorlash (provayderni o’zgartirish, degradatsiya).
Runbook-qadamlar: qoʻlda abort/force-complete ruxsat berilganda osilgan instantsiyalarni qanday «ochish» kerak.


15) Xarajatlarni boshqarish

Kvotalar va «soft-cap»: qimmat qadamlar/provayderlar uchun limitlar.
Kesh/dedup: Zaruratsiz tashqi chaqiruvlarni takrorlamang.
Hisobotlar:’cost _ per _ 1k _ workflows’, WF turlari bo’yicha «muvaffaqiyat qiymati».


16) Mashg’ulotlarning mini-shabloni (psevdo-YAML)


workflow: deposit_v1 trigger:
event: deposit.requested filters: [amount > 0, currency in [USD,EUR,TRY]]
sla:
p95_ms: 3000 abort_rate_daily: 0.3%
steps:
- name: reserve_funds timeout_ms: 150 retries: {max: 2, on: [5xx, connect_error], backoff: exponential, jitter: true}
compensation: release_reserve
- name: call_psp timeout_ms: 200 retries: {max: 2, on: [5xx, connect_error]}
circuit_breaker: {error_rate: 0.05, window_s: 10, open_s: 30}
- name: post_ledger type: async topic: ledger.post
- name: notify_user channel: push hitl:
when: amount > 10000 or risk_score > 0.8 timeout_m: 30 escalate_to: "compliance@oncall"
observability:
emit_metrics: true trace: true security:
secrets: [PSP_TOKEN, PUSH_API_KEY]

17) Retray va taymaut siyosati (tavsiyalar)

Qadam vaqti = uning yashirin budjetidan 70-80%.
Retrai ≤ 2-3, faqat idempotent operatsiyalari va tarmoq uzilishlari uchun.
Jitter majburiy; follbeksiz tor joylardagi taymautlarda retraylarni taqiqlash.
Kompensatsiyalar ham individual qadamlar kabi.


18) Dashbordlar (minimal)

WF Overview: ishga tushirish/muvaffaqiyat/abort, p95/p99 davomiyligi, vis/bobo.
Step Drilldown: eng yaxshi sekin/xato qadamlar, retrajlar, ochiq breykerlar.
Provider Panel: chiquvchi p95/error-rate/kvotalar/qiymat.
HITL Board: «qaror kutmoqda», muddatlar, SLA komplayens.


19) Joriy etish chek-varaqasi

  • Asosiy WF xaritasi va egalari (on-call, chat, repo).
  • Qadamlar tavsifi: kirish/chiqish, SLO, taymautlar, retrajlar, kompensatsiyalar, sirlar.
  • OpenAPI/AsyncAPI + CDC shartnomalari.
  • Kiraverishda va qadamlarda idempotentlik/dedup.
  • Dashbordlar, trassalar, alertlar (SLO jarayoni va qadamlar bo’yicha).
  • Kanareyka + WF relizlari uchun ficheflaglar.
  • Runbook: osilgan/qisman bajarilgan WFlarni qanday «davolash» kerak.
  • Tanazzul rejasi: muqobil provayderlar, «og’ir» shoxlarni o’chirish.
  • Maxfiy/kirish/audit siyosati.
  • Game-days/xaoc-ssenariylar sprintda bir marta.

20) Alertlar namunalari (g’oyalar)


ALERT WorkflowSLOBreached
IF workflow_p95_duration_ms{name="deposit_v1"} > 3000 FOR 15m
LABELS {severity="critical", team="payments"}

ALERT WorkflowAbortRateHigh
IF rate(workflow_aborted_total{name="deposit_v1"}[30m]) > 0.005
LABELS {severity="warning", team="payments"}

ALERT StepRetryStorm
IF step_retry_count{name="call_psp"} > 2 baseline_1w FOR 10m
LABELS {severity="warning", team="integrations"}

ALERT StuckInstances
IF workflow_in_progress_age_p95_m{name="kyc_v2"} > 60
LABELS {severity="warning", team="risk"}

21) Anti-patternlar

«Katta monolit WF» 100 + qadam va qattiq aloqaga ega - qiyin va shovqin.
Idempotent bo’lmagan operatsiyalar uchun retriyalar (ikki marta hisobdan chiqarish/hisoblab chiqarish).
Foydalanuvchi so’rovining «umr ko’proq» taymautlari → visyaki va «zombi».
Kompensatsiya yo’qligi → qo’lda tuzatishlar va uzoq postmortemalar.
WF versiyalari mavjud emas → relizlar eski instansiyalarni buzadi.
Rotatsiyasiz va auditsiz o’zgaruvchan/konfiguratsiyalar ichidagi sirlar.


22) Mashg’ulot sifatining KPI

Success rate va Abort rate WF turlari bo’yicha.
p95/p99 qadam va jarayon davomiyligi.
Jarayon hodisalari bo’yicha MTTD/MTTR.
Retry storm count/oy (maqsadli → 0).
1k WF qiymati va «muvaffaqiyat qiymati».
Avtomatlashtirish ulushi:% HITLsiz keyslar.


23) Tez boshlash (defoltlar)

3-5 ta muhim WF (depozit, chiqish, KYC) dan boshlang.
Uzoq umr ko’radigan dostonlarni orkestrlash; mahalliy reaksiyalar - hodisalar.
Qadam taymaut ≤ budjetning 80 foizi; retrai ≤ 2 s backoff + jitter.
Kompensatsiyalar yozma ravishda belgilandi va sinov qilindi.
Taqqoslash taxtasi bilan 5-10% trafik kanareykasini yoqing.
Har bir WF - SLO egasi, runbook va alertlari.


24) FAQ

Q: Nima tanlash kerak: orkestrator yoki voqealar?
A: Agar ko’rgazmali xarita, muddat va uzun dostonlar kerak bo’lsa - orkestrator. Agar voqealarga oddiy munosabat va iste’molchilar ko’p bo’lsa - xoreografiya. Ko’pincha eng yaxshi variant gibriddir.

Q: Dublikatlardan qanday qochish mumkin?
A: Idempotency-key WF kirish joyida,’message _ id’bo’yicha dedup va’seen-events’ni saqlash. Qadamlar - idempotent.

Q: Konturli odam kerakmi?
A: Ha, munozarali/qimmat holatlar uchun. Lekin eng yaxshi avtomatlashtirish va qoidalar orqali HITL ulushini o’lchang va kamaytiring.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.