क्यों कैसिनो मॉड्यूलर आर्किटेक्चर पर स्विच कर रहे हैं
क्यों कैसीनो मॉड्यूलेरिटी
ऐतिहासिक मोनोलिथ विकास को धीमा कर देता है: प्रत्येक परिवर्तन पूरे सिस्टम की रिहाई, प्रदाताओं के एकीकरण और पीएसपी ने एसएलओ को मारा, अनुपालन अपडेट - पूरे कोड में। मॉड्यूलर आर्किटेक्चर (डोमेन-चालित + अनुबंध एपीआई + इवेंट्स) अनुमति देता है:- जल्दी से सुविधाओं को प्रदर्शित करें और प्रदाताओं को "सभी के साथ समन्वय किए बिना
- चुनिंदा रूप से स्केल करें (कैश रजिस्टर से अलग लाइव वीडियो, गेम कैटलॉग से अलग बटुआ);
- जोखिम को अलग करें (प्रोमो में एक त्रुटि बटुए को नीचे नहीं लाती है);
- लाइसेंस का पालन करें (डोमेन सीमाओं के भीतर लॉगिंग/संस्करण/नीतियां);
- स्पष्ट अनुबंधों, पुन: उपयोग और स्वचालन के माध्यम से टीसीओ को कम करें।
डोमेन मैप (ब्रेकडाउन उदाहरण)
वॉलेट/लेजर - पैसा, मुद्रा हेज, बोनस बैलेंस, पीआईटीआर, ऑडिट।- कैशियर/भुगतान - पीएसपी, ऑन-रैंप/ऑफ-रैंप, केवाईटी, आइडेम्पोटेंट वेबहूक।
- गेमिंग ब्रिज - प्रदाता एडाप्टर, राउंड/शर्त सामान्यीकरण।
- कैटलॉग/लॉबी - गेम, प्रदाता, फीचर और प्रदर्शन नियम।
- प्रोमो/बोनस - स्टॉक नियम, वाउचर, दांव।
- केवाईसी/एएमएल/आरजी - पहचान सत्यापन, प्रतिबंध/पीईपी, सीमा और स्व-बहिष्करण।
- अनुभव - फ्रंटेंड, सीडीएन, i18n, ए/बी, टेलीग्राम वेबएपी।
- टेलीमेट्री/एनालिटिक्स - इवेंट्स, शोकेस, एमएल/एआई।
- अनुपालन और लेखा परीक्षा - एमजीए/यूकेजीसी रिपोर्ट, WORM संग्रह।
मॉड्यूलर आर्किटेक्चर सिद्धांत
1. डीडीडी सीमाएँ (बाध्य संदर्भ)। डेटा और तर्क का स्पष्ट ज्ञान।
2. एपीआई-प्रथम + घटनाएँ। OpenAPI/AsyncAPI, JSON-Schema, अनुबंध परीक्षण।
3. वर्शनिंग और संगतता। 'v1 → v1। 1 → v2 '(expand→migrate→contract)।
4. पहचान और बिल्कुल एक बार इरादा। अनुरोध कुंजी, घटना डीडुप्लीकेशन।
5. डिफ़ॉल्ट सुरक्षा। mTLS, HMAC हस्ताक्षर, लघु JWT, RBAC/ABAC।
6. स्वतंत्र रिलीज। कैनरी/ब्लू-ग्रीन तैनात, "दो-लेखक" पलायन निषिद्ध हैं।
7. अवलोकन। एंड-टू-एंड 'traceId', SLO मेट्रिक्स प्रति मॉड्यूल.
8. फिचा झंडे। ट्रैफिक/जियो/यूजर सेगमेंट, सुरक्षित रोलबैक।
एकीकरण परत: प्रदाताओं और पीएसपी को कैसे जोड़ें
एडाप्टर/ब्रिज पैटर्न: प्रत्येक गेम/भुगतान प्रदाता एक एकल प्लेटफॉर्म अनुबंध के साथ एक प्लगइन है।
खेल: सामान्यीकरण 'राउंडआईडी/बीटीआईडी/स्थिति', त्रुटि मानचित्रण, कैश को सीमित करें।
भुगतान: एक एकल इंटरफ़ेस 'अधिकृत/कैप्चर/रिफंड/पेआउट', पहचान के साथ वेबहूक।
डिस्कनेक्टिविटी - दोषपूर्ण एडाप्टर को दूसरों को प्रभावित किए बिना रखरखाव में ले जाया जाता है।
नमूना अनुबंध (OpenAPI टुकड़ा):yaml post/wallet/debit:
शरीर:
सामग्री:
आवेदन/json:
स्कीमा:
$ ref: '#/components/schemas/debitRequess @ v1'
प्रतिक्रियाएं:
'200': {$ ref: '#/components/schemas/debitiRefection @ v1'}
'409': {विवरण: IDEMPOTENT_REPLAY}
"परिसंचरण प्रणाली" के रूप में घटनाएँ
बस (काफ्का/एनएटीएस) घटना →:- 'bet। रखा ',' राउंड। बस गया ',' भुगतान। निवेदित/अनुमोदित ',' kyc। सत्यापित/असफल ',' rg। limit_set', 'बोनस। जारी/उपभोग ',' कैशियर। webhook। प्राप्त ',' बटुआ। पकड ़/रिलीज ',' अलर्ट। slo_breach'।
- घटनाएं अतीत को रद्द नहीं करती हैं; समायोजन - अलग क्षतिपूर्ति घटनाओं द्वारा।
- प्रत्येक मॉड्यूल केवल अपनी मूल घटनाओं, डेरिवेटिव - नए विषयों के रूप में लिखता है।
डेटा: परतें और स्थिरता
OLTP प्रति मॉड्यूल: Postgres/MySQL/KeyDB - पृथक लेनदेन।
OLAP/storefronts: ClickHouse/BigQuery घटनाओं से निर्मित हैं; OLTP और एनालिटिक्स मिश्रण नहीं करते हैं।
सुविधा स्टोर/एमएल: सुविधा और टीटीएल संस्करणों के साथ ओएलटीपी स्वतंत्र परत।
स्थिरता: रणनीतिक रूप से मॉड्यूल के बीच, और पैसे के लिए - सीमाओं पर स्थानीय ACID + अज्ञात कार्रवाई।
तैनाती और स्केलिंग
कंटेनर (डॉकर/K8s): ऑटोस्केल मॉडुलो (बटुआ - सीपीयू/आईओ; लाइव वीडियो - नेटवर्क; पुल - आरपीएस)।
परिधि अलगाव: नेटवर्क नीतियां, व्यक्तिगत रहस्य/कुंजी प्रति मॉड्यूल, विभिन्न पीआईआई/धन/टेलीमेट्री स्टोर।
ट्रैफिक आकार: फ्लैग, कैनरी शेयर, क्षेत्रीय मार्ग।
DR/HA: मल्टी-AZ; पैसे के लिए परिसंपत्ति-दायित्व, रीडिंग/मीडिया के लिए परिसंपत्ति-संपत्ति।
अनुपालन मॉड्यूल में "सिल" है
KYC/AML/RG नीतियों और एक समाधान लॉग ('पॉलिसीवर') के साथ एक मालिकाना मॉड्यूल है।
लेखा परीक्षा/WORM - धन/राउंड/भुगतान कार्यक्रमों का अपरिवर्तनीय भंडार।
रिपोर्टिंग - न्यायालयों द्वारा निर्यात (एमजीए/यूकेजीसी), पूर्णता/समयबद्धता के लिए एसएलए।
नमूना धाराएँ
दर → गणना → भुगतान
1. 'गेमिंग-ब्रिज' 'बेट भेजता है। रखा गया' (पहचानने वाला)।
2. 'वॉलेट' 'होल्ड' बनाता है और 'वॉलेट' प्रकाशित करता है। पकड़ '।
3. 'गेमिंग-ब्रिज' को → 'गोल प्रदाता का परिणाम मिलता है। बस गए '।
4. 'वॉलेट' 'सेटल' (रिलीज/पेआउट) → 'वॉलेट पर विचार करता है। बस गए '।
5. 'प्रोमो' घटनाओं का उपभोग करता है और एक बोनस → 'बोनस अर्जित करता है। जारी किया गया '।
नकद डेस्क (जमा)
1. 'कैशियर' भुगतान करता है। इरादा 'Idempotency-Key'।
2. PSP वेबहुक → 'कैशियर कहता है। webhook। प्राप्त '।
3. 'बटुआ। क्रेडिट 'वास्तव में एनालिटिक्स और आरजी के लिए एक घटना है।
डाउनटाइम के बिना परिवर्तन (expand→migrate→contract)
1. विस्तार: 'v1' में जोड़े गए क्षेत्र/समापन बिंदु। 1 ', पुराने ग्राहक टूटते नहीं हैं।
2. माइग्रेट: उपभोक्ता नई चीजें पढ़ ते हैं, दोनों संस्करणों में लिखते हैं (केवल गैर-मौद्रिक के लिए दोहरी लिखते हैं)।
3. अनुबंध: EOL 'v1 की घोषणा की। 0 ', योजना के अनुसार एन सप्ताह के बाद हटा दिया गया।
प्लेटफ़ॉर्म इंजीनियरिंग
गोल्डन पथ: मॉड्यूल टेम्पलेट (रेपो एस्केलेन, सीआई/सीडी, अलर्ट, एसएलओ, रहस्य)।
अनुबंध परीक्षण: CI में संधि/AsyncAPI परीक्षण; नकली प्रदाताओं के साथ एकीकरण वातावरण।
सेवा कैटलॉग (बैकस्टेज): कौन मालिक है, एसएलए, एपीआई संस्करण, घटना पुस्तकें।
मॉड्यूलरिटी सक्सेस मेट्रिक्स
विचार से उत्पादन रिलीज के लिए नेतृत्व समय - एक्स समय।- ↑ मॉड्यूल (प्रति दिन/सप्ताह) द्वारा जारी आवृत्ति, परिवर्तन-विफल दर ↓।
- ↓ घटनाओं पर MTTR (अलगाव के कारण)।
- इन्फ्रा लागत/जीजीआर स्थिर है या - ट्रैफिक ग्रोथ (चयनात्मक पैमाने) के साथ।
- प्रदाता/पीएसपी एकीकरण समय (ब्रीफिंग से प्रोड तक) ↓।
एंटी-पैटर्न
Microservices के लिए Microservices। स्पष्ट डेटा सीमाओं के बिना, कनेक्टिविटी और जटिलता बढ़ रही है।
मॉड्यूल के बीच सामान्य डीबी/आरेख। अलगाव और स्वतंत्र रिलीज को मारता है।
संस्करण/अनुबंध के बिना घटनाएँ। उपभोक्ताओं को "चुपचाप" तोड़ें।
पैसे के लिए दोहरी लिखें। असंगति का जोखिम केवल एक लेखक के माध्यम से आदर्श कदम है।
हर चीज के साथ वैश्विक "उपयोगिता परत"। एक छिपे हुए मोनोलिथ में बदल जाता है।
कोई फ्लैग और किल-स्विच नहीं। कोई भी गलती तुरंत सभी को मारती है।
OLTP/OLAP मिश्रण। रिपोर्ट दरों/बटुए को धीमा करती है।- कोई अवलोकन नहीं। एसएलओ को मापने और घटनाओं को जोड़ ने के लिए कुछ भी नहीं है।
मॉड्यूलर आर्किटेक्चर ट्रांजिशन चेकलिस्ट
रणनीति और डोमेन
- बाध्य संदर्भ, मालिक और मॉड्यूल केपीआई परिभाषित हैं।
- इंटरैक्शन मैप: एपीआई/इवेंट्स, क्रिटिकलिटी और एसएलओ।
अनुबंध और सुरक्षा
- OpenAPI/AsyncAPI + JSON-Schema; संस्करण और जीवन चक्र।
- mTLS/HMAC, सीमाओं पर लघु JWT, RBAC/ABAC।
आंकड़ा
- स्प्लिट OLTP; घटनाएं OLAP के लिए स्रोत हैं।
- एपीआई/वेबहूक पर पहचान, संदेश deduplication।
सीआई/सीडी रिलीज़ (R)
- कैनरी/ब्लू-ग्रीन, फ्लैग्स, ऑटोस्केल मॉडुलो।
- सीआई में अनुबंध परीक्षण; नकली प्रदाताओं के साथ वातावरण
अवलोकन क्षमता
- 'TraceId' के साथ लॉग/मेट्रिक्स/ट्रेल्स; एसएलओ डैशबोर्ड।
- व्यापार मेट्रिक्स द्वारा अलर्ट (VOID, अस्वीकार, भुगतान अंतराल)।
अनुपालन
- पैसे/राउंड का WORM संग्रह, नियामक रिपोर्टिंग का निर्यात।
- KYC/AML/RG एक समाधान लॉग के साथ एक अलग मॉड्यूल के रूप में।
मिनी-उदाहरण
घटना 'राउंड। बसे @ v1 ':json
{
"घटना ":" राउंड। बस गए," "वी ":" 1", "राउंडआईडी":" आर-2025-10-17-ईवो -23", "गेमआईडी ": "ईवो _ लाठी _ 23", "दांव ": [{"बीटीआईडी ": "बी _ 92f ", "प्लेयर":" पी _ 1"," स्टेक" 10:"। 00 "", भुगतान":" 15। 00 "", परिणाम":" WIN"}], "ts ":" 2025-10-17T14: 23:13। 120Z," "traceId ":" tr _ 5f1"
}
पहचानने वाला बटुआ:
http
POST/बटुआ/बसना
X-Idempotency-Key: 9a7f-2b1c
{
"राउंडआईडी":" आर-2025-10-17-ईवो -23", "ऑपरेशन ": [{"प्लेयर आईडी":" पी _ 1"," डेल्टा":" 5। 00 "", मुद्रा":" EUR"}]
}
मॉड्यूलर आर्किटेक्चर कैसीनो प्लेटफॉर्म को "नाजुक गठबंधन" से विश्वसनीय डोमेन की संरचना में बदल देता है: प्रत्येक अपने स्वयं के अनुबंधों, डेटा और एसएलओ के साथ। यह एकीकरण और रिलीज़ को गति देता है, चयनात्मक स्केलिंग प्रदान करता है, अनुपालन को सरल बनाता है, और घटना के जोखिमों को कम करता है। डोमेन सीमाओं, अनुबंधों और घटनाओं को उजागर करके शुरू करें, सुरक्षा और अवलोकन में बुनाई करें - और आपको एक मंच मिलता है जो उत्पाद के साथ बढ़ ता है, इसे धीमा नहीं करता है।