Რატომ არის მნიშვნელოვანი პლატფორმის ბირთვის ვერსიების თვალყურის დევნება
რა არის პლატფორმის ბირთვი და რატომ არის ვერსიები კრიტიკული
ჩვენ გვესმის „ბირთვი“ დომენები, სადაც შეცდომებს არ აპატიებენ: საფულე და ლეჯერი, რაუნდის განაკვეთები/გაანგარიშება, ფულადი სახსრები (დეპოზიტები/გადახდები), იდენტიფიკაცია (KYC/AML/RG), კონტრაქტები თამაშის პროვაიდერთან და ბილინგის/ანგარიშგების შესახებ.
აქ ნებისმიერი განახლება გავლენას ახდენს ფულზე, მარეგულირებელზე, ნდობაზე. აქედან გამომდინარე, ბირთვის ვერსიები არ არის "პაკეტის ნომერი. json", და ცვლილებებისა და პასუხისმგებლობის მართვის ინსტრუმენტი.
რატომ აკონტროლეთ ვერსიები
1. ფულის რისკის მენეჯმენტი. ჩვენ ნათლად ვიცით, რა კოდი გადაიხადა გადახდის/გადახდის რა რაუნდში - ის აშორებს დავებს და აჩქარებს ინციდენტების ანალიზს.
2. ინტეგრაციის თავსებადობა. თამაშების/გადახდების პროვაიდერები უკავშირდება კონტრაქტებს. ვერსია = გარანტია, რომ ველები, სტატუსები და ბიზნეს წესები ემთხვევა.
3. შესაბამისობა და აუდიტი. რეგულატორი მოითხოვს რეპროდუქციას: „რა შესყიდვა, რა სქემა, რა კონტროლი“. ვერსია მტკიცებულებათა ბაზის წამყვანია.
4. სწრაფი გამოშვებები დასრულების გარეშე. ვერსია საშუალებას გაძლევთ წარმოადგინოთ თავსებადი ცვლილებები და კანარი.
5. ინციდენტის მენეჯმენტი. Rollback/roll-forward მარტივია, როდესაც არსებობს დახვეწილი არტეფაქტები, მიგრაცია და თავსებადობის მატრიცა.
6. გამჭვირვალეობა სასურსათო გუნდებისთვის. როდესაც „კონტრაქტი სტაბილურია X.Y- მდე“, ფრონტები/მარკეტინგი/ანალიტიკა იგეგმება სიურპრიზების გარეშე.
ვერსიის პოლიტიკა (SemVer ბირთვისთვის)
ჩვენ ვიყენებთ SemVer 'MAJOR. MINOR. PATCH '+ „სქემის გადასინჯვა“ და „ღონისძიების ხელშეკრულების ვერსია“:- PATCH (x.y. Z) - კორექტირება API/სქემების შეცვლის გარეშე/გაანგარიშების ლოგიკა. Rollout სწრაფი, rollback ტრივიალური.
- MINOR (x.Y.z) - თავსებადი გაფართოებები: ახალი „არალეგალური“ ველები, ახალი მოვლენები, დროშები. Expand-only- ის მიგრაცია.
- MAJOR (X.y. z) - გატეხილი ცვლილებები: ველების/მოვლენების მოცილება, გაანგარიშების წესების შეცვლა, ლეგენდის ახალი ინვარიანტები.
- 'schemaVer' (BD/Legger/კატალოგები), 'contractVer' (საბურავების და ვებჰუკების მოვლენები), 'calcVer' (გაანგარიშების/ბონუსის წესების ძრავა).
კონტრაქტები და საპირისპირო თავსებადობა
ხელშეკრულებები გარე და შიდა მომხმარებლებისთვის
API/ვებჰუკი/მოვლენები: ვერსია URL ('/v2/... '), სათაური (' X-Contract-Version '), schemaVer ველი დატვირთვის დროს.
მოვლენები საბურავში: eventVer 'ველი, აკრძალვა აკრძალვა (ველის ტიპის ცვლილებები, სტატუსის მნიშვნელობა).
BD: მიგრაცია expand-migrate-contract სტილში.
თქვენ შეგიძლიათ დაამატოთ, შეცვალოთ - ფრთხილად, წაშალეთ - „ჩრდილით“
ველების დამატება მხოლოდ ნულოვანი/ნაგულისხმევი.
მნიშვნელობის შეცვლა მხოლოდ MAJOR- ში არის „ძველი“ ველის პარალელური გამოქვეყნებით გარდამავალი პერიოდისთვის.
მოცილება - დეპრესიისა და ტელემეტრიის შემდეგ „ვინ ჯერ კიდევ კითხულობს ძველ“.
სქემებისა და მონაცემების მიგრაცია
გამოცდა: დაამატეთ სვეტი/ინდექსი, შეიყვანეთ ახალი მოვლენა - არსებული მკითხველების შეხების გარეშე.
Migrate: შეავსეთ/დაანგარიშეთ მნიშვნელობები (batch/online), ჩართეთ ორმაგი ჩანაწერი (ორმაგი write) ახალ ადგილზე.
Contract: თარგმნეთ მკითხველები, ამოიღეთ იურიდიული ფილიალი შემდეგ MAJOR- ში.
ინსტრუმენტები: მიგრაცია feature-flag, shadow ცხრილები, ონლაინ DDL, DD (check-constraints) და დომენები.
გაანგარიშების ვერსია: ფული, განაკვეთები, პრემია
ცალკე ჩაწერეთ 'calcVer' - ფულადი სახსრების ლოგიკის ვერსია (კურსი/hold/settle/VOID, ბონუსების წესები და ხელახალი თამაში).
თითოეული 'round. settled`, `payout. completed`, `bonus. issued 'ჩაწერა' calcVer '.
დავის დროს, თქვენ შეგიძლიათ რეპროდუცირდეთ გაანგარიშება ზუსტად იმ ლოგიკით, რომელიც მოქმედებდა მოვლენის დროს.
გადართვა 'calcVer' გააკეთეთ კანარი ტრაფიკის პროცენტულად/რეგიონში/თამაშის კატეგორიებში.
Observability ვერსიისთვის
Trace: 'buildId', 'gitSha', 'semver', 'schemaVer', 'contractVer', 'calcVer' ყველა კრიტიკულ სპენში (ფსონი, settle, payout).
დაშბორდები ვერსიების მიხედვით: შეცდომები, ლატენტობა, ფინ დელტა ვერსიის თვალსაზრისით.
ალერტები „ვერსიის დრიფტზე“: როდესაც ავტობუსის მომხმარებელთა ნაწილი არასწორ სქემას კითხულობს.
უსაფრთხოება და შესაბამისობა
გაფორმებულია ვერსირებული არტეფაქტები (სურათები, მიგრაცია); ინახება უცვლელი registry/bucket.
DR/აუდიტი: თქვენ შეგიძლიათ გაზარდოთ გარემო „როგორც ეს იყო T თარიღამდე“ (სურათი, მიგრაცია ვერსიამდე, BD Snaphots).
AML/RG/KYT წესების გადასინჯვა ასევე არის ვერსიები (policyVer) და მათი გამოყენების ლოგები.
გამოშვების პროცედურები
1. შურისძიების ხელშეკრულება: ცვლილებების ჩამონათვალი „PATCH/MINOR/MAJOR“, გავლენა გარე/შიდა მომხმარებლებზე.
2. Backwards-compat ტესტები: ძველი კლიენტების/მოვლენების შემოწმება (ხელშეკრულების ტესტები).
3. კანარის rollout: 1-5% ტრაფიკი; მეტრიკა p95, შეცდომები, ფინანსური განსხვავებები.
4. ლეგაციის გამოყენების ტელემეტრია: ვინც ჯერ კიდევ უსმენს 'v1' -ს, რომელი სფეროები იკითხება - დეპრესიის გეგმა.
5. Comm პაკეტი: რა იცვლება, როდესაც ძველი ვერსიების დასასრული ხდება, როგორ უნდა მიგრირება.
ტიპის თავსებადობის მატრიცები (მაგალითი)
ხელშეკრულებების მაგალითები
საბურავების მოვლენა ვერსიით: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- ის გარეშე.
გლობალური დროშები ვერსიების ნაცვლად (შეუძლებელია აღდგენა, „რაც მაშინ მოქმედებდა“).
საკონტრაქტო ტესტების არარსებობა და სქემების კატალოგი.
წაშალეთ ლეგაცია გამოყენების ტელემეტრიის გარეშე - პარტნიორები/დაშბორდები იშლება.
ერთი ნომერი „სადღაც ვიკში“ არტეფაქტების/ხელმოწერების გარეშე - არ არის რეპროდუცირებული.
ბირთვის ვერსიების დისციპლინის შემოწმების სია
სტანდარტები
- ვერსიების ოჯახი: 'semver', 'schemaVer', 'contractVer', 'calcVer', 'policyVer'.
- მონაცემთა კატალოგის/სქემების (მონაცემთა კატალონიური) ისტორიითა და მფლობელებით.
კონტრაქტები
- ვერსირებული endpoints/მოვლენები, header/ვერსიის ველი.
- დეპრესიის პროცედურა გამოყენების თარიღებითა და ტელემეტრიით.
მიგრაცია
- Expand→Migrate→Contract, dual-write, онлайн-DDL.
- Shadow ცხრილები და ინვარიანტები BD დონეზე.
გამოშვებები
- კანარის rollout, თავსებადობის მატრიცა, rollback გეგმა.
- ხელმოწერილი სურათები/მიგრაცია, უცვლელი არტეფაქტები.
Observability
- ვერსიების ტეგები ტრეისში/ლოგოებში/მეტრიკებში.
- შეცდომების/ლატენტობის/ფინ დელტის ვერსიები.
შესაბამისობა/DR
- გარემოცვის რეპროდუცირებული აწევა „თარიღით T“.
- Logs policyVer (AML/RG/KYT).
ბირთვის ვერსიულობა არის ფულის „დაზღვევა“ და პროდუქტის განვითარების ტემპი. პლატფორმა პროგნოზირებად ვითარდება მასთან: ახალი შესაძლებლობები გამოდის ავარიის გარეშე, ფინანსები რჩება რეპროდუცირებული, ინტეგრაცია - თავსებადი, აუდიტი - მშვიდი. გახადეთ ვერსიები პროცესის ნაწილი (კონტრაქტები, მიგრაცია, ტელემეტრია, გამოშვებები) - და თქვენი ზურგჩანთა გაუძლებს წლების ცვლილებებს P & L- სთვის დანაკარგების გარეშე და რეპუტაციის გარეშე.