GH GambleHub

Վիրահատություններ և Ավտոմատացված workflow

Ավտոմատացված workflow

1) Ինչո՞ ւ է դա անհրաժեշտ

Ավտոմատացված գողֆլոը նվազեցնում է ձեռքի վիրահատությունները, արագացնում է «ժամանակը գաղափարից մինչև գումար» և նվազեցնում սխալների ռիսկը։ IGaming/fintecht-ում դա քննադատական է դեպոզիտների/եզրակացությունների համար, KYC/AML, բոնուսների/ջեքպոտների կառավարումը, բովանդակության նորարարությունը, դեպրեսիայի արձագանքը և բանկային-գրասենյակային խնդիրները։

Նպատակները

Կայուն, զզվելի դիտարկված գործընթացները մինչև արդյունքը։

Նվազագույն ձեռքով քայլերը, կանխատեսելի SLO գործընթացը։

Սխալների վերահսկումը 'ռետորներ, որոնք փոխհատուցում են գործողությունները, հստակ էսկալացիաները։

Մասշտաբը իրադարձությունների և բեռի վրա առանց «փոթորիկների» և կրկնօրինակների։


2) Տերմինոլոգիան

Workflow (WF) 'քայլի շղթա (tasks) բիզնես արդյունքի հասնելու համար։

Օրկեստրացիան 'կենտրոնական ֆորումը վերահսկում է քայլերը և դրանց կարգը։

Խորեոգրաֆիա 'քայլերը արձագանքում են իրադարձություններին, չկա «կենտրոնական ուղեղ»։

Փոխհատուցում 'հակադարձ գործողություններ մասնակի ձախողման ժամանակ (սագի)։

HITL (Human-in-the-loop) 'վերահսկվող «ձեռքով» լուծումները WF-ի ներսում։

SLO գործընթացը 'հատուկ WF-ի ավարտման/հաջողության ամբողջ ժամանակը (օրինակ ՝ «95 տոկոսը 383 վայրկյան»)։


3) Որտե՞ ղ կիրառել (օրինակներ)

Հիբրիդային ֆլոները 'դեպոզիտներ, հակաֆրոդներ, ծուղակի ծուղակը, ծանուցումները։

KYC/AML 'փաստաթղթերի հավաքումը, պրովայդերների ստուգումը, էքսպալացիան։

Բովանդակության/սահմանների կառավարում 'խաղերի հրապարակումը, քվոտաները, գեո կանոնները։

Բոնուսներ/ջեքպոտներ 'հաշվարկել, պահել, հաշվարկել պայմանները, վճարումները։

Միջադեպերը 'ախտորոշում, կրճատված չեկի թերթիկներ, հաղորդակցություններ։

Տվյալները/ETL ՝ հեռացումը, reconciliation, արխիվացումը։


4) Orcestration vs Խորեոգրաֆիա

Նվագախումբը հարմար է, երբ, ճյուղերի բարդ տրամաբանությունը, խիստ SLO-ն, ակնհայտ dedlins/timauts, տեսողական «գործընթացի քարտեզը» անհրաժեշտ է բիզնեսին։

Խորեոգրաֆիան, երբ 'բարձր իրադարձություն, թույլ կապ, շատ ռուսական սպառողներ են։

Հիբրիդ 'երկար գոյատևող սագերը ղեկավարում է նվագախումբը, իսկ տեղական ռեակցիաները կատարվում են իրադարձությունների միջոցով։


5) Ճարտարապետական սկզբունքները

Idempotention: Յուրաքանչյուր քայլ պետք է ապահով կրկնվի (idempoty-key, dedup-ID)։

Ակնհայտ թայմաուտներ և ռետրաններ ՝ backoff + jitter, փորձերի սահմաններ, միայն անվտանգ սխալների համար։

Փոխհատուցում (sagi) 'շղթայի վրա հարվածներ մասնակի ձախողման ժամանակ։

Քայլերի մեկուսացումը 'bulkhead (առանձին puls/limits արտաքին daunstrims)։

Պայմանագրեր ՝ OpenAPI/AsyncAPI բոլոր արտաքին զանգերի համար, CDC թեստեր։

WF տարբերակումը 'մուտքային/շաբաթական տվյալների սխեմայի փոփոխությունը առանց հին ինստանցների «զանգվածային» անկման։


6) Իրադարձությունների և ձգումների մոդել

Ձգողականների տեսակները

տիրույթի իրադարձությունը ("deposit. requested`),

07 (cox),

ձեռքի արձակումը (օպերատոր/sapport),

ալերտի ազդանշան (պատահար-վորկֆլոու)։

Համատեքստը 'հարաբերական «trace _ id», «workflow _ instrone _ id», օգտագործողը/տարածքը, ֆիչեֆլագների տարբերակը։

Մուտքի էժան ֆիլտրերը 'վաղ վալիդացիան և կաղնու կտրումը։


7) Քայլերի դիզայնը (tasks)

Յուրաքանչյուր քայլ նկարագրվում է ՝ 108, ելքը, SLO, թայմաուտը, փորձերը, գետերի պայմանները, փոխհատուցումը, իրավունքները/գաղտնիքները։

Կեղծ-նկարագրությունը բացատրվում է


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) Փոխհատուցում և սագա

Տեղական գործարքը + իրադարձություն. «Պահպանել intent to հրապարակել իրադարձությունը»։

Փոխհատուցում 'հեղինակային իրավունքի վերացում, բոնուսի բարձրացում, հաշվեկշռի վերահաշվարկ, տիկետ։

Փոխհատուցումների համադրելիությունը 'կրկնվող վերացումը չպետք է կոտրի ինվարանտները։


9) Անվտանգությունն ու գաղտնիքները

KFC/Secrets Express-ը 'հոսանքների պահպանումը, նավարկումը, դերերի հասանելիությունը։

Ամենափոքր առավելությունները 'WF շարժիչը տալիս է ճիշտ անհրաժեշտ մոտիվներ։

Webhuks/կոլբեկների ստորագրությունը 'HMAC/JWS, թայմսթեմպի ստուգում։

Տվյալների քաղաքական գործիչները 'PII-ի դիմակավորում լոգարաններում/հետքերով, կոդավորումը։


10) Դիտարկումը և SLO-ն

Գործընթացի մետրերը ՝ «workflow _ started/completed», «success _ rate», «aborted», «mean/p95/p99 duration», «կախված» instans, «dead letter»։

Քայլերի չափումները ՝ «task _ latency», «error _ rate», «retry _ count», «open _ circuit», «cost _ per _ 1k _ calls»։

Հետքեր 'քնած ամեն քայլով, թեգեր' workflow։ name`, `step`, `attempt`.

SLO 'օրինակ, "ավանդների 95 տոկոսը 3,3 վայրկյան, 99 տոկոսը 355 վայրկյան; abort ≤ 0. 3 %/օր"։

Դաշբորդները ՝ քայլերի ջերմային քարտեզը, «նեղ տեղերը», կախվածության քարտեզները։


11) Մարդ-վ-կոնտուրայում (HITL)

Չափանիշները ՝ վիճահարույց (risk/AML), մեծ տարածքների ձեռքով ապացույց։

Dedline: Timaut սպասել լուծմանը, հիշեցումներին/էսկալացիաներին։

Աուդիտ 'Ո՞ վ/երբ/որ որոշում կայացրեց, հիմնավորում, տիկետի հետ կապ։


12) Փոփոխությունների և օրինագծերի կառավարումը

Վորկֆլոյի տարբերակները '«v1» և «v2» զուգահեռ; ներարկումը անհնար է, ավարտեք հին բնական ճանապարհով, նոր լուծումը '«v2» -ով։

Կանարեքային ստանդարտ ՝ 1 տոկոսը 10 տոկոսն է 100 տոկոսը, համեմատությունը 'success/p95/ab.ru "։

Ֆիչեֆլագները 'արագ արձագանքում են մրցույթի/ճյուղերի նախորդ իրականացմանը։

CDC/պայմանագրեր 'CI-ում գեյթ, որպեսզի քայլերը չփչացնեն սպառողներին/պրովայդերներին։


13) Թեստավորում

Unit քայլերը 'պոզիտիվ/բացասականություն + idempotenty։

Medract tes.ru-ի դեմ։

WF-սիմվոլը ՝ happy-path + timeouts, 4xx/5xx, «դանդաղ պրովայդեր», իրադարձությունների կորուստ, մասնակի սխալներ։

Game-days: Ձախողումների միգրացիա (PFC/KYC անկում, հերթերի լագը, փակված բրեյքերը)։

Replay 'պատմական իրադարձությունների վերարտադրումը միգրացիաները ստուգելու համար։


14) Պատահականներն ու մեքենայական արձագանքը

Avto-vorkflow-ը նշում է, որ մետրի հավաքումը, դաունստրիմների ստուգումը, ծանուցումները, workaround պատրաստումը (պրովայդերի տեղափոխումը, դեգրադացիան)։

Runbook քայլերը 'ինչպես «փչացնել» կախված instans, երբ թույլատրվում է abert/force-complete։


15) Ծախսերի կառավարումը

Քվոտաներ և «soft-cap» ՝ սահմանափակումներ թանկ քայլերի/պրովայդերների համար։

Քաշ/դեդուպը 'չանել կրկնվող արտաքին զանգեր առանց կարիքների։

Հաշվետվություններ ՝ «cost _ per _ 1k _ workflows», «հաջողության արժեքը» WF տեսակի։


16) Մինի-ձևանմուշ (կեղծ-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) Գետերի և թայմաուտների քաղաքականությունը (առաջարկություններ)

Թայմաութը = իր լատենտության բյուջեից 70-80 տոկոսը։

Retrai No. 2-3, միայն idempotent վիրահատությունների և ցանցային ձախողումների վրա։

Ջիթերը պարտական է; գետերի արգելքը նեղ վայրերի թայմաուտների վրա առանց ֆոլբեկի։

Փոխհատուցումը, որպես առանձին քայլեր, նույնպես հակադարձելի է։


18) Dashbords (նվազագույն)

WF Overview: Մեկնարկներ/հաջողություն/abert, p95/p99 տևողություն, կախված/պապեր։

Step Systilldown: Լավագույն դանդաղ/սխալ քայլերը, հետքերը, բաց բրեյքերները։

Provider Panel: p95/error-rate/քվոտաներ/արժեքը։

HITL Board: «սպասում են լուծումներ», ժամկետները, SLA կոմպլենսը։


19) Ներդրման չեկի ցուցակ

  • Հիմնական WF քարտեզը և սեփականատերերը (on-call, չաթ, ռեպո)։
  • Քայլերի նկարագրություն ՝ 108/ելքը, SLO, թայմաուտներ, ռետրաններ, փոխհատուցում, գաղտնիքներ։
  • OpenAPI/AsyncAPI + CDC պայմանագրերը։
  • Idempotenty/dedup մուտքի և քայլերի վրա։
  • Dashbords, հետքեր, ալերտներ (SLO գործընթացը և քայլերը)։
  • Canareka + ficheflagy WF ածխաջրածինների համար։
  • Runbook: Ինչպես «բուժել» կախված WF-ից։
  • Քայքայման պլանը 'այլընտրանքային պրովայդերներ, «ծանր» ճյուղերի անջատումը։
  • Գաղտնիքների քաղաքականություն/հասանելի/2019։
  • Game-days/xaoc սցենարները մեկ անգամ սպրինտ են։

20) Ալերտների օրինակներ (գաղափարներ)


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-patterna

«Մեծ մոնոլիտ WF» -ը 100 + քայլերով և կոշտ կապվածությամբ, դժվար է և աղմուկ։

Repray-ը ոչ idempotent վիրահատությունների վրա (կրկնակի մարում/հաշվարկել)։

Թայմաուտները «ավելի երկար» են օգտագործողի որոնման համար, քան կախոցները և «զոմբին»։

Փոխհատուցման բացակայությունը կատարվում է ձեռքով ուղղումներ և երկար հետմորտեմներ։

WF-ի տարբերակումը չի կոտրում հին instans։

Գաղտնիքները գենդերային/փոփոխականների ներսում առանց ռոտացիայի և ինտեգրման։


22) KPI որակը vorkflow

Success rate-ը և Abrate-ը WF տիպերով։

p95/p99 քայլի և գործընթացի տևողությունը։

MTTD/MTTR-ը գործընթացների ժամանակ։

Retry storm count/ամիս (նպատակային թիվ 0)։

1k WF-ի արժեքը և «հաջողության արժեքը»։

Ավտոմատացման մասը 'դեպքերի տոկոսը առանց HITL-ի։


23) Արագ սկիզբը (դեֆոլտներ)

Սկսեք 3-5 քննադատական WF (դեպոզիտ, եզրակացություն, KYC)։

Նվագեք երկար գոյատևող սագերը։ տեղական ռեակցիաները իրադարձություններ են։

Թայմաութը կանխատեսում է բյուջեի 2480 տոկոսը։ trai 2-ը backoff + jitter-ից։

Փոխհատուցումները որոշվում են գրավոր և փորձարկվել։

Միացրեք կանարեյկան 5-10 տոկոսով համեմատությամբ։

Յուրաքանչյուր WF-ը սեփականատեր, runbook և SLO-ի ալտերերն են։


24) FAQ

Q 'Ի՞ նչ ընտրել' նվագարկիչ կամ իրադարձություն։

Ա 'Եթե ձեզ հարկավոր է տեսողական քարտ, dedline և երկար սագեր' նվագարկիչ։ Եթե գերակշռում են պարզ արձագանքները իրադարձությունների վրա և շատ սպառողներ 'խորեոգրաֆիա։ Հաճախ լավագույն տարբերակը հիբրիդ է։

Q 'Ինչպե՞ ս խուսափել կրկնօրինակներից։

A: Idempotency-key-ը WF-ի մուտքի մոտ, dedup-ը '«բանաձև _ id» և «seen-events» պահպանումը։ Քայլերը գաղափարական են։

Q 'Արդյո՞ ք մարդը կարիք ունի կոնտակտով։

Ա 'Այո, վիճահարույց/թանկ դեպքերի համար։ Բայց չափեք և նվազեցրեք HITL-ի մասնաբաժինը լավագույն ավտոմատացման և կանոնների շնորհիվ։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։