Эмне үчүн платформанын негизги версияларын көзөмөлдөө маанилүү
"Платформанын өзөгү" деген эмне жана эмне үчүн версиялар критикалык
"Ядро" деп биз каталар кечирилбеген домендерди түшүнөбүз: капчык жана леджер, чендер/раунддарды эсептөө, касса (депозиттер/төлөмдөр), идентификация (KYC/AML/RG), оюн провайдерлери менен келишимдер жана биллинг/отчеттуулук.
Бул жерде ар кандай жаңыртуу акча, жөнгө салуучу, ишеним таасир этет. Ошондуктан ядронун версиясы "пакеттеги номер эмес. json" жана өзгөрүүлөрдү жана жоопкерчиликти башкаруу куралы.
Эмне үчүн версияларын көзөмөлдөө керек
1. Акча тобокелдигин башкаруу. Кайсы тур/төлөм боюнча кандай код эсептелгенин так билебиз - талаш-тартыштарды чечет жана инциденттерди талдоону тездетет.
2. Интеграциялардын шайкештиги. Оюндардын/төлөмдөрдүн провайдерлери келишимдерге байланган. Version = талаалар, статустар жана бизнес эрежелери дал кепилдик.
3. Комплаенс жана аудит. Жөнгө: "кандай курулуш, кандай схема, кандай көзөмөл". Версия - далил базасынын казык.
4. Downtime жок тез релиздер. Версиялоо ылайыктуу өзгөрүүлөрдү чыгарууга жана канарейка менен тоголонууга мүмкүндүк берет.
5. Инцидент-менеджмент. Rollback/roll-forward тегизделген артефакттар, көчүрүү жана шайкештик матрицасы болгондо жөнөкөй.
6. Азык-түлүк буйруктары үчүн ачык-айкындуулук. Качан "келишим X.Y туруктуу", Frontes/маркетинг/аналитика күтүлбөгөн пландаштырылган.
Версия саясаты (ядро үчүн SemVer)
Биз SemVer 'MAJOR колдонобуз. MINOR. PATCH '+ "схеманы текшерүү" жана "окуялардын келишиминин версиясы":- PATCH (x.y. Z) - эсептөөнүн API/схемаларын/логикасын өзгөртпөстөн оңдоолор. Rollout тез, rollback аз.
- MINOR (x.Y.z) - шайкеш кеңейтүүлөр: жаңы талаалар "nullable", жаңы окуялар, желектер. көчүрүү "expand-only".
- MAJOR (X.y. z) - бузуучу өзгөрүүлөр: талааларды/окуяларды алып салуу, эсептөө эрежелерин, леджердин жаңы инварианттарын өзгөртүү.
- 'schemaVer' (БД/менеджер/каталогдор), 'contractVer' (шина жана вебхук окуялары), 'calcVer' (эсептөө кыймылдаткычы/бонустук эрежелер).
Келишимдер жана тескери шайкештик
Тышкы жана ички керектөөчүлөр үчүн келишимдер
API/Webhook/Events: URLди ('/v2/... '), баш тамганы (' X-Contract-Version '), пайдалуу жүктөгү' schemaVer 'талаасын чыгаруу.
Шинадагы окуялар: 'eventVer' талаасы, silent-breaking (талаанын түрүн, статустардын маанисин өзгөртүү) тыюу салуу.
БД: expand → migrate → contract стилинде көчүрүү.
Кошуу, өзгөртүү - этияттык менен, алып салуу - "көлөкө" менен
Талааларды кошуу - жөн гана nullable/c дефолт.
Маанини өзгөртүү - өткөөл мезгилге "эски" талааны ('_ legacy') параллелдүү жарыялоо менен MAJORда гана.
Алып салуу - депрекейт жана телеметрия кийин "дагы эле эски окуп жатат".
Схемаларды жана маалыматтарды көчүрүү
Expand: тилкени/индексти кошуу, жаңы окуяны киргизүү - учурдагы окурмандарга тийбестен.
Migrate: алкагында баалуулуктарды толтуруу/кайра саноо (batch/online), жаңы жерге кош жазуу (dual-write) киргизүү.
Contract: окурмандарды которуп, кийинки MAJOR legacy-бутагын алып салуу.
Инструменттер: feature-flag, shadow-таблицалар, онлайн DDL, DD деңгээлиндеги инварианттар (check-constraints) жана домендер астында көчүрүү.
Эсептешүүлөрдү версиялоо: акча, коюмдар, бонустар
Акча эсептешүү логикасынын 'calcVer' версиясын (коюм/hold/settle/VOID, бонустар жана ойнотуу эрежелери) өзүнчө жазыңыз.
Ар бир 'round. settled`, `payout. completed`, `bonus. issued 'жаздыруу' calcVer '.
Талаш-тартыш болгондо, эсептөөнү окуя болгон учурда колдонгон логика менен кайталоого болот.
Которуу 'calcVer' трафиктин/аймактын/оюн категорияларынын пайызы боюнча канарейка.
Observability
Trade Tags: 'buildId', 'gitSha', 'semver', 'schemaVer', 'contractVer', 'calcVer' бардык критикалык спенддерде (коюм, settle, payout).
Дашборддор версиялар боюнча: каталар, жашыруун, версиялар боюнча фин-дельта.
"Version Drift" боюнча Алерта: кээ бир шиналарды керектөөчүлөр туура эмес схемасын окуп жатканда.
Коопсуздук жана комплаенс
Версияланган артефакттарга (сүрөттөр, миграциялар) кол коюлду; өзгөрүлбөгөн registry/bucket сакталат.
DR/аудит: Сиз айлана-чөйрөнү көтөрө аласыз "T күнү эле" (сүрөт, нускасына көчүрүү, DD snapshots).
AML/RG/KYT эрежелеринин ревизиясы да версиялар (policyVer) жана аларды колдонуу логдору болуп саналат.
Чыгаруу процедуралары
1. Келишим-ревю: "PATCH/MINOR/MAJOR" деген белги менен өзгөрүүлөрдүн тизмеси, тышкы/ички керектөөчүлөргө тийгизген таасири.
2. Backwards-compat тесттер: эски кардарлар/окуялар боюнча текшерүү (келишимдик тесттер).
3. Канар rollout: 1-5% жол; p95, каталар, финансылык айырмачылыктар боюнча көрсөткүчтөр.
4. Телеметрия колдонуу legacy: дагы ким угат 'v1', кайсы талаалар окулат - депрекейт планы.
5. Comm-пакети: качан end-of-life эски нускалары, кантип көчүп өзгөрөт.
Типтүү шайкештик матрицалары (мисал)
Контракттардын мисалдары
Версиясы бар шиналар окуясы:json
{
"event": "round. settled", "eventVer": "2. 4", "schemaVer": "ledger-3. 1", "calcVer": "wallet-7. 2", "roundId": "R-2025-10-17-PRAGM-12", "bets": [{"betId":"b_9f2","stake":"5. 00","payout":"180. 00","outcome":"WIN"}], "ts": "2025-10-17T14:23:12. 031Z", "traceId": "tr_5f1"
}
Келишимдин версиясы менен REST:
GET /v2/wallet/balance
X-Contract-Version: 2. 3
Анти-үлгүлөрү
"Тынч" өзгөрүүлөр: MAJOR жана депрекейт жок талаалардын түрлөрүн/маанисин өзгөртүү.
эки-write жок бир релизинде маалыматтарды жана акча логикасын көчүрүү.
Версиялардын ордуна глобалдык желектер ("ал кезде эмне болгон" калыбына келтирүү мүмкүн эмес).
Контракттык тесттердин жана схемалар каталогунун жоктугу.
Колдонуунун телеметриясыз legacy алып салуу - өнөктөштөр/дашборддор бузулат.
Артефактсыз/кол тамгасыз "бир жерде" бирдиктүү номери - кайталанбайт.
Ядронун версияларынын дисциплинасынын чек тизмеси
Стандарттар
- Версия үй-бүлөсү: 'semver', 'schemaVer', 'contractVer', 'calcVer', 'policyVer'.
- Маалыматтар/схемалар каталогу (data catalog) тарыхы жана ээлери менен.
Келишимдер
- Version End Points/Events, башчысы/талаа Version.
- даталар жана телеметрия пайдалануу менен Deprecation-тартиби.
Миграция
- Expand→Migrate→Contract, dual-write, онлайн-DDL.
- Shadow таблицалары жана DB деңгээлиндеги инварианттар.
Релиздер
- Канар rollout, шайкештик матрица, rollback планы.
- Кол коюлган сүрөттөр/миграция, өзгөрүлбөгөн экспонаттар.
Observability
- Trace/Logs/Metrics версияларынын теги.
- Dashbord каталар/жашыруун/Finn-Delta версиялары боюнча.
Комплаенс/DR
- "T датасы боюнча" айлана-чөйрөнү жогорулатуу ойнотулат.
- policyVer колдонуу логдору (AML/RG/KYT).
Ядронун версиясы - бул акчанын "камсыздандыруусу" жана продуктунун өнүгүү темпи. Аны менен платформа болжолдуу түрдө өнүгөт: жаңы мүмкүнчүлүктөр бузулбай чыгат, каржы кайталанма бойдон калууда, интеграция шайкеш келет, аудит тынч. Версияларды процесстин бир бөлүгүнө айландырыңыз (келишимдер, миграциялар, телеметрия, релиздер) - жана сиздин артыңыз P&L жана репутация үчүн жылдар бою өзгөрүүлөргө туруштук берет.