Orkiestra zadaniowa
1) Dlaczego orkiestra
Platforma iGaming to dziesiątki łańcuchów end-to-end (depozyty, wnioski, KYC/AML, zakłady/rozliczenia, bonusy, incydenty). Orkiestra zmienia rozmaite połączenia w zarządzalne procesy z przewidywalnym czasem, jakością i dźwiękiem:- zmniejszona MTTR i „rutyna ręczna”;
- wdrażanie SLA i terminów regulacyjnych;
- sprawiedliwy podział zdolności pomiędzy najemcami a regionami;
- Przejrzystość statusu i odpowiedzialności (RACI).
2) Zasady
Orkiestrować krytyczne, choreografować rest. Krytyczne łańcuchy (płatności, wnioski, rozrachunek) - pod scentralizowanym orkiestrą; drugorzędne - wydarzenie (pub/sub).
SLA-pierwszy. Każde zadanie ma priorytet, SLO, termin i strategia eskalacji.
Idempotencja i przynajmniej raz. Każde działanie powtarza się bez działań niepożądanych.
Kompensacja zamiast cofnięcia bazy danych. Sagi do efektów zewnętrznych.
Sprawiedliwy udział i izolacja. Kwoty dla najemcy/regionu/klasy zadań, ochrona przed „obżarstwem”.
Kodeks polityki. Zasady routingu, przekaźniki, tolerancje - zasady wersjonowane.
Obserwowalność według projektu. Mierniki/ścieżki/kłody na każdym kroku.
3) Model domeny orkiestrowej
Zadanie → Aktywność → Proces/Przepływ pracy.
Stany zadań są 'kolejka → dzierżawione → running → (udało się nie powiodło anulowane) → archiwizowane'.
Najważniejsze atrybuty: „priorytet”, „termin”, „najemca”, „region”, „cost _ class”, „risk _ class”, „idempotence _ key”.
4) Architektura
Orkiestrator: przechowuje wykres procesowy, kolejki, timery, terminy, RACI, routing.
Wykonawcy: bezpaństwowcy, subskrybowani w kolejkach domen (Płatności/KYC/Gry/Infra). Wynajem-model + bicie serca.
Brama wydarzeń: skrzynka odbiorcza/skrzynka odbiorcza do gwarantowanej integracji z systemami zewnętrznymi.
Magazyn stanu: dziennik procesu (WORM/części niezmienne do audytu).
Katalog polityk: priorytety, kwoty, przekaźniki, rolki, SoD.
5) Kolejki, priorytety i harmonogram
Klasy QoS:- A (w czasie rzeczywistym): depozyty/zakłady/rozliczenia - p95 drugie opóźnienia, pojedyncze kolejki i puli.
- B (Operacyjny): KYC, sprawozdania dla dostawców - minuty.
- C (Partia/Analityka): agregacje/eksport - godziny.
- Harmonogram: multi-kolejka z priorytetem + termin; algorytmy: priorytet + EFR, ważony udział godziwy w przeliczeniu na najemcę/region.
- Kradzież prac: Puli wykonania „kradną” zadania z sąsiednich kolejek w ramach tej samej klasy QoS.
- Terminy: przy ryzyku opóźnienia → zwiększenie priorytetu lub degradacji gałęzi.
6) Gwarancje i zrównoważony rozwój
Przynajmniej raz + idempotencja. „idempotence _ key” (klucz biznesowy) i ustalenie wyniku.
Retriable by policy: wykładnicze backoff + jitter; próba budżetu; wyłącznik do zewnętrznych zależności.
Czasy: „task _ timeout <SLA_step',' process _ deadline <regulatory”.
DLQ: oddzielne kolejki do zadań „trujących”; ręczne parsowanie z pełnym kontekstem.
Rekompensata (saga): zdefiniowana dla każdej „silnej” operacji (wychwytywanie/refundacja, ledger_post/revert itp.).
7) Ochrona podciśnienia i platformy
Kwoty i limity: na najemcę/region/typ zadania (QPS, równoległy, pamięć/procesor).
Kontrola wjazdu: awaria/defektor o niskim priorytecie podczas napełniania puli.
Przelewanie: redukcja obciążenia miękkiego (częściowe wyniki, funkcje degradacji) zamiast całkowitego uszkodzenia.
Limity kursowe: przy wejściu, u dostawcy (PSP/KYC), w banku/BIN.
Histereza: zapobiega włączaniu/wyłączaniu klapek.
8) Tolerancja wielobranżowa i błędna
Lokalizacja ruchu: orkiestra utrzymuje procesy bliżej danych/dostawców.
Cross-regional feilover: tylko dla idempotent kroków i po kontroli kworum.
Przechowywanie państwa: replikacja z celami RPO/RTO; zapis ogrodzenia kontra podział mózgu.
Regionalne odizolowanie zdarzeń: „zatrzymać krwawienie” - zatrzymanie nowych zadań w dotkniętym regionie, pobudzanie istniejących do bezpiecznych oddziałów.
9) Human-in-the-loop - RACI
Zadania człowieka: wbudowane kroki z listą kontrolną, SLA, załączniki.
SoD/4-eyes: niekompatybilne role w działaniach wrażliwych (wnioski, limity bonusowe, routing PSP).
Eskalacja: nagłośnienie zegarów przeniesienie L2/L3 IC ".
Audyt: kto/co/kiedy/dlaczego, link do biletu/polityki.
10) Kodeks polityki
Przykłady (pseudo-Rego):- Routing PSP: 'trasa = PSP2, jeśli PSP1. zdrowie
- Eskalacja priorytetów: „priorytet = P1, jeśli termin <10m & process in {withdrawal, payout}”
- Blok eksportu PII: "odmówić, jeśli eksport. stawka> bilet basketowy & &! bilet & & data_class=PII'
Zasady są zmieniane, testowane, przeglądane jak zwykły kod.
11) Obserwowalność
SLI procesu: wskaźnik sukcesu, czas trwania p95/p99, procent opóźnień.
Kolejka SLI: wiek zadań, przepustowość, awaria wstępu, wskaźnik DLQ.
Ślady: przęsła na każdym kroku (korelacja 'trace _ id' z płatnością/stawką/ACC).
Kłody: ustrukturyzowane, bez PII; przyczyny przekładów/harmonogramów/rekompensat.
Deski rozdzielcze: Exec (SLA/przestępstwa/wartość), Ops (lag/reties/DLQ), Domena (gałęzie PSP, KYC SLA).
Wpisy: terminy spalania, skok DLQ, wzrost czasu kroku, gorące kolejki.
12) Koszt (orkiestra FinOps)
KPI: $/process, $/task, $/retray, $/min SLA naruszenia.
Optymalizacja: partia dla klasy C, agregacja sygnału, obniżenie długich dzienników, ograniczenia procesów „długich”.
Pokaż/ładuj z powrotem: Najemca widzi swój znak (kolejki/magazyn/rekolekcje).
13) Bezpieczeństwo i zgodność
ABAC/RBAC: dostęp do procesów według roli/najemcy/regionu/środowiska.
JIT/PAM: tymczasowe podnoszenie do czynności ręcznych.
Podpis Webhook/mTLS: Integralność zdarzeń.
Audyt WORM: niewymienne kłody; Polityka TTL/maskowania dla PII.
SoD: nie łączyć „мsiirovat → odobrit → provesti” w jednej osobie.
14) Katalog typowych orkiestry (iGaming)
1. Деровий: 'init → 3DS/auth → capture → ledger_post → bonus_credit → notify'.
Rekompensata: "ledger _ revert, refund_capture'.
Zasady: redystrybucja PSP w przypadku spadku sukcesu auth.
2. Вувоz: 'request → risk_score → 4-eyes approve → payout → registry → notify'.
Eskalacja SLA, blokada anomalii prędkości.
3. KYC/AML: 'collect → A → (fallback B) → ręczna recenzja → finalizuj'.
Terminy regulacyjne; DLQ dla błędów skanowania.
4. Stawka/rozliczenie: 'rezerwa → fix_odds → potwierdzenie → rozliczenie → wypłata'.
Rozgałęzienie podczas kolejek opóźnień (ograniczenie cech drugorzędnych).
5. Индидена: „wykryć → klasyfikację (P1-P4) → wojna-pokój → działania → zamknij → pośmiertnie”.
15) Szablony (fragmenty)
Zadanie Spec (YAML):yaml id: payments. capture qos: A priority: P1 deadline: 2m timeout: 2s retry:
strategy: exponential_jitter max_attempts: 5 idempotency_key: ${payment_id}
saga:
compensate: payments. refund_capture
Polityka priorytetowa:
yaml rule: "priority-escalation"
if: "deadline < 5m && qos == 'A'"
then: "priority = P1"
Zadanie człowieka (4-oczy):
yaml id: withdrawal. approval type: human sod: true approvers: [Risk, Finance]
sla: 2h on_timeout: escalate:L2
16) Procesy operacyjne
Bramy uwalniania: blok niebezpiecznych wydań z czerwonymi kolejkami/procesami SLI.
Tablet/chaos-days: odłączenie PSP/repliki/kolejki; sprawdź przekładki/odszkodowania.
Przegląd kwartalny: progi, kwoty, koszty, trendy DLQ, wyjątki SoD.
17) Plan realizacji (8-12 tygodni)
Ned. 1-2: zapasy łańcuchowe (depozyt/wyjście/CCL/rozrachunek), cele SLA, klasy QoS, macierz priorytetowa i kwot.
Ned. 3-4: orkiestrator + kolejki, MVP procesów „Deposit/Output”, idempotent handlers, DLQ, podstawowe zasady retray/timeout.
Ned. 5-6: sagi i rekompensaty, zadania ludzkie (4-oczy), sprawiedliwy udział na najemcę, deski rozdzielcze i kolejki SLI.
Ned. 7-8: wielobranżowe (lokalizacja/feilover), bramy uwolnienia, wpisy (terminy spalania), panel FinOps.
Ned. 9-10: rozszerzenie katalogu (CCM/bonusy/incydenty), cięcie. polityki (routing PSP/eksport PII), audyt WORM.
Ned. 11-12: ćwiczenia chaosu, optymalizacja wartości, przepisy RACI/SoD, szkolenie dyżurne.
18) Orkiestra KPI/KRI
Procesy SLA (wykonanie na czas), czas trwania p95/p99.
Przestępstwa i ich udział przez domenę/najemcę.
Retried/Wskaźnik zadania, Wskaźnik DLQ, Stawka rekompensaty.
Przestrzeganie zasady sprawiedliwego udziału (najemca nie „głoduje”).
Koszt: $/process, $/task, $/retray.
Incydenty spowodowane orkiestrą (klapki, impasy, przeciążenie kolejki).
19) Antypattery
Jeden „uniwersalny” priorytet bez klas QoS.
Przekłady bez idempotencji → duplikat płatności.
Uruchamianie-restarty pracowników w przypadku awarii zewnętrznych → lawina.
Brak kwot na najemcę/region → sąsiad zjadł całą pulę.
Długie kroki bez terminów/terminów → wiszące procesy.
Brak sagi → ręczne „cięcia” i ryzyka finansowego.
Puste dzienniki/brak śladów → nie udowodnić poprawności.
Razem
Orkiestra zadaniowa to zarządzana fabryka procesów: właściwa segmentacja według QoS i priorytetów, gwarancje dostawy i idempotencja, rekompensaty i terminy, sprawiedliwa izolacja najemców/regionów, a także obserwacja i bezpieczeństwo w ramach projektu. Taki układ zapewnia przewidywalne operacje, odporność na awarie dostawców i zgodność z wymogami regulacyjnymi - bez kosztów „ręcznego” mikroprzedsiębiorstwa.