Нақшакашӣ ва замина
(Қисм: Амалиёт ва идоракунӣ)
1) Мақсад
Вазифаҳои банақшагирӣ ва пасзамина кори ғайри истифодабарандаи платформаро таъмин мекунанд: ҳисобҳои даврӣ, интишори артефактҳо, клиринг ва такрори навбат. Ҳадафҳо детерминизм, таҳаммулпазирии гуноҳ ва аудитория мебошанд.
2) Таксономияи вазифа
Вақт: нақша (крон/тақвим): клиринг, пӯшидани тирезаҳои RTP, боргузорӣ, бойгонӣ.
Ҳодисае, ки ба амал оварда шудааст: триггерҳо аз автобус (Пардохтҳо, Ҳалшуда, Нархҳо).
Як-хомӯш/Ad-hoc: ҷабҳаҳои якдафъаина бо TTL.
Муддати тӯлонӣ: Backoff/sagas, паймонҳои ҷараён.
Нигоҳдорӣ: гардиши калидӣ, дубора, индексатсияҳо, гармкунии кэш.
3) Меъморӣ (истинод)
Компонентҳо:1. Scheduler (ҳавопаймои назоратӣ): ҷадвалҳо, CAL/cron, тирезаҳои нигоҳдорӣ, вақтҳо, маҳдудкунандаҳо.
2. Диспетчер: нақша → навбат (ба ҳар як афзалият/иҷорагир/минтақа), мӯҳлатҳо, калидҳои нопурра.
3. Коргарон: статикӣ/автоскале барои ҳавзҳои корӣ; зарбаи дил, иҷора.
4. Навбат/Автобус: FIFO/афзалият, DLQ, паёмҳои таъхиршуда.
5. Қулф/Ҳамоҳангсозӣ: қулфҳои тақсимшуда (иҷора), интихоботи пешво (Raft/ZK/Consul).
6. Vault/KMS: Асрори JIT, кӯтоҳ TTL.
7. Мушоҳида: нишонаҳо/ченакҳо/гузоришҳо, панелҳо, огоҳиҳо.
8. Аудит/WORM: квитансияҳои ивазнашавандаи иҷро, Merkle-иловаро.
Намунаҳо: outbox/CDC, idempotency, ҷуброн (sagas), backpressure, пайвасткунакҳо.
4) Ҷадвалҳо: крон ва тақвимҳо
Cron v3: дуюм/дақиқа/соат/рӯз/моҳ/рӯз-ҳафта; дастгирии "/5 ", диапазонҳо, рӯйхатҳо.
Тақвимҳо/истисноҳо: тақвими корӣ, тирезаҳои хомӯшӣ, идҳо/DST.
Вақтсанҷҳо: 'tz' -ро дар вазифа нигоҳ доред; Оғози вақти иҷорагир.
Бисёр минтақаҳо: Нусхаҳои ҷадвалҳои ҳар як минтақа ё "минтақаи пешбар + пайравон" бо дренаж/интихоб.
5) Навбатҳо, афзалиятҳо, SLA
Синфҳои афзалиятнок: P0 (интиқодӣ), P1, P2, P3; ҳавзҳои коргарии инфиродӣ.
SLA/мӯҳлатҳо: 'бояд _ оғоз _ аз', 'бояд _ ба итмом расад _ аз ҷониби'; гузаред - шиддат/бозгашт.
Квотаҳо ва адолат: ҳадди аққал барои вазифаҳо/дақиқа/иҷорагир, нишонаҳо барои "таркиш", ҷудокунии садои ҳамсояҳо.
Таъхири таъхир/вақти намоён.
6) Рақобат ва басташавӣ
Иҷора: иҷораи кор бо тамдиди худкор (зарбаи дил); бо гузашти вақт - бекоркунӣ.
Mutex/semaphores: барои як манбаъ (масалан, "рӯйхати нархҳо x танҳо як коргарро менависад").
Sharding: аз ҷониби 'иҷорагир/минтақа/ҳаш (калид)'; масири часпанда барои кэш ва ҷойгиршавии маълумот.
Интихоботи пешво: як роҳбар ҷойҳои "система" -ро нашр мекунад (масалан, "ҳама тирезаҳои RTP-ро пӯшед"), пайравони - интизории гарм.
7) эътимоднокӣ: Retrai, idempotency, deadup
Калиди Idempotent: '(task_type, business_id, тиреза)'; такрор § ҳамон квитансия.
Retrai: бозгашти экспоненсиалӣ + ҷиттер, маҳдудияти кӯшишҳо, стратегияи хатогӣ (такрор/бекор/ҷуброн).
Заҳр-ҳаб: интиқоли зуд ба DLQ пас аз шикасти N, ҳушдор ба соҳиби.
Dedup: кэши дидашуда (дар хотира + КВ) дар тирезаҳои TTL.
Таъсири маҳз як маротиба: тасдиқи таъсири тараф тавассути сабти/квитансияҳои транзаксия.
8) Идоракунии вазифаҳои дароз ва вазнин
Chunking: тақсим ба гурӯҳҳо, гузаргоҳҳо/идома.
Вақти бокс: Маҳдудияти CPU/IO/шабака; қатъ кардан бо пешрафт.
Sagas/ҷубронпулӣ: семантикаи "бекор" барои қадамҳои байнишаҳрӣ.
Ҳамоҳангсозӣ: ҳудуди вазифаҳои ҳамзамон барои як намуд/иҷорагир/минтақа.
9) Мушоҳида ва ченакҳо
Нишонаҳо: 'trace _ id', қадамҳои саёҳат, зангҳои беруна.
Метрика (SLI):- Қафо ба оғоз, навбат (дарозӣ, синни p95).
- Меъёри муваффақият, сатҳи хатогӣ, меъёри такрорӣ.
- Latency p50/p95, вақт-ба-анҷом.
- Арзиш барои як вазифаи 1k, egress/ingress.
- Меъёри DLQ, сатҳи заҳр-ҳаб.
- P0 оғоз ≤ 60 с, P1 ≤ 5 дақ; Муваффақият ≥ 99. 5%; DLQ ≤ 0. 1%; Тару тоза ≤ 30 s p95.
10) Аудит ва исбот
Даромадҳо: 'Quitit _ hash' барои оғоз/муваффақият/хатогӣ, имзоҳои DSSE барои намудҳои муҳим (пардохтҳо, рӯйхати нархҳо, RTP).
WORM: нигоҳдории гузоришҳои иҷро ва намоишҳо.
Занҷираи ҳабс: кӣ ҷадвалро супурд/тасдиқ кард/тағир дод; Санҷишҳои So-D.
11) Амният ва дастрасӣ
RBAC/ABAC/РЕБАК: кӣ эҷод мекунад/тасдиқ мекунад/медавад; So 'D: "пардохт эҷод кунед" ≠ "тасдиқ кунед".
Асрори JIT: коргар аломатҳои дорои TTL кӯтоҳро дар доираи мушкилот талаб мекунад.
Ҷудокунӣ: ҳавзҳои коргарон барои як иҷорагир/минтақа/шабака; иҷрои sandbox-иҷро.
Гигиенаи PII: ниқоб/токенизатсия, манъи воридшавии ибтидоӣ.
12) Арзишҳо ва арзиш
Буҷетҳо/cap-огоҳиҳо оид ба ҳисоб/нигоҳдорӣ/egress.
Коргарони Autoscale аз рӯи навбатҳо ва SLO.
Синфҳои нигоҳдорӣ: гарм (7-30 рӯз) → OLAP (6-24 моҳ) → бойгонӣ.
Банақшагирии хароҷот: равзанаи оғоз дар "соатҳои арзон", маҳдудиятҳои egress.
13) Модели маълумот (соддакардашуда)
14) Шартномаҳои API (идоракунӣ/ҳамгироӣ)
'POST/ҷадвалҳо' - тартиб додани ҷадвал (cron/cal, tz, тирезаҳо).
'POST/ҷойҳои корӣ' - гузоштани ad-hoc; баргардонидани 'job _ id', 'quitipt _ hash'.
'GET/jobs/{ id}' - ҳолат/log/квитансия.
'POST/jobs/{ id }/бекор' - бо ҷуброн бекор кунед.
'GET/queues/stats' - дарозӣ, ақибмонӣ, p95.
Вебхуки: 'Айюб Оғоз', 'Айюб муваффақ шуд', 'Айюб' ноком шуд ',' Айюб Дрю ба DLQ ',' SLOV iolated '.
15) Китобҳои бозӣ (сенарияҳои маъмулӣ)
Retry-storm: имкон медиҳад, ки бозгашти глобалӣ имконпазир бошад, танаффуси вобастагӣ баланд бардошта шавад, бастаҳои тақсимкунанда ва тақсимкуниро фароҳам оварад.
Тарма DLQ: қабули қатъ, афзалияти таҳлили DLQ, буфер кардани вазифаҳои нав.
Роҳбар афтод: интихоб, санҷиши "нашрияҳои дугона" аз ҷониби idempotency, аудит.
Провайдери Hung (PSP/KYC): масир ба захира, кам кардани басомади овоздиҳӣ/вебхукҳо, интиқол додани муомилот ба карантин.
Асрори ихроҷшудаи коргар: бозхонди калидӣ, ротатсия, ҷустуҷӯи "ғайримуқаррарӣ" дар 30 рӯз, баррасии ҳуқуқҳо.
16) Хусусияти IGaming/fintech
Пардохтҳо/пардохтҳо: корҳои асинхронӣ бо квитансияҳо, карантини амалиётҳои "хокистарӣ", такрори навбатҳо бо такрорӣ.
Равзанаҳои/маҳдудиятҳои RTP: пӯшидани тақвим, против RTP назариявӣ, таблиғи худкори таваққуф ҳангоми ғарқ шудан.
Рӯйхати нархҳо/FX/Андоз: нашрияҳои ба нақша гирифташуда, версияҳои артефакт, маъюбии қувваи кэш.
Шарикон: мусолиҳаи табдилдиҳӣ, вебҳукҳо, санадҳо/имзоҳо, баҳсҳои фирор.
17) Нишондиҳандаҳои сифат (маҷмӯи намунаҳо)
Риояи ҷадвал: ҳиссаи вазифаҳо дар тиреза оғоз ёфт ≥ 99%.
Навбати Lag p95: P0 ≤ 60 c, P1 ≤ 5 min.
Муваффақият/Retry/DLQ Меъёри: ≥ 99. 5% / ≤ 0. 4% / ≤ 0. 1%.
Хатогиҳои Idempotency: ≤ 0. 01%.
Cost/1k корҳо ва Egress/кор - дар доираи буҷа.
Пуррагии аудит: 100% вазифаҳои муҳим бо квитансияҳо.
18) RACI
19) Рӯйхати назорати амалисозӣ
- Дарсҳои вазифаҳо, афзалиятҳо ва SLA-ҳоро қайд кунед; Тақвимҳо ва мӯҳлатҳоро муайян кунед.
- Ҷойгиркунии ҷадвал/диспетчер/навбат/коргарон бо интихоби пешво ва Sharding.
- Ҷорӣ намудани idempotency, retrays, DLQ, ҷубронпулӣ (sagas).
- Танзими сирри RBAC/ABAC/Re
- Нишонаҳо/ченакҳо/гузоришҳо, панели панелҳо ва огоҳиҳоро фаъол созед; SLO i буҷети хатогӣ.
- Векселҳои имзошуда (DSSE) ва гузоришҳои WORM барои намудҳои муҳим.
- Огоҳиҳои худкор ва ҳадди аққал (ҳисоб/нигоҳдорӣ/egress).
- Китобҳои бозӣ: тӯфони шадид, тарма DLQ, нокомии пешво, таназзули провайдер.
- Санҷишҳо: Бозии рӯзона дар як дафтарчаи бозӣ, тазриқи таъхир/хатогӣ.
- Шарҳи мунтазами ҷадвалҳо, басташавии навбат ва автоматизатсияи ROI.
20) FAQ
Чаро cron кофӣ нест?
Бе навбат, беақлӣ, қуфлҳо ва аудит, садамаҳо ва минтақаҳои вақт вайрон мешаванд.
Оё вақт ва рӯйдодҳоро бо ҳам муттаҳид кардан мумкин аст?
Бале: cron - суғурта барои сайд; рӯйдодҳо - барои реактивӣ.
Чӣ гуна ба "як маротиба" ноил шудан мумкин аст?
Тарҳи калидӣ, сабти эффектҳои транзаксионӣ, квитансияҳо ва таъсири тарафҳои idempotent.
Бо корҳои "дароз" чӣ бояд кард?
Chunk, нуқтаҳои назоратӣ, вақти бокс, қобилияти қатъ кардан ва идома додан.
Чӣ тавр буҷетро "нахӯред"?
Autoscale дар навбатҳо ва SLO, соатҳои арзон барои корҳои вазнин, caps сахт egress/compute.
Хулоса: Вазифаҳои банақшагирӣ ва пасзамина лӯлаи истеҳсолии платформа мебошанд. Бо ҷобаҷогузории ҷадвалҳо ва навбатҳо, аблаҳӣ, қулфҳо ва мушоҳидаҳо, илова кардани квитансияҳо/аудитҳо, ҷудокунии иҷорагирон ва назорати Fin