क्यों बुनियादी ढांचा स्केलिंग महत्वपूर्ण है
व्यवसायों को पैमाने की आवश्यकता क्यों है
"छत के बिना राजस्व। "पीक इवेंट्स (व्युत्पन्न, फाइनल, प्रमुख स्लॉट रिलीज) आरपीएस को गुणा करते हैं। स्केलेबिलिटी 5xx त्रुटियों के बजाय ट्रैफिक स्पाइक्स को GGR वृद्धि में बदल देती है।
स्थिर एसएलओ। हम किसी भी ऑनलाइन के लिए लक्ष्य ढांचे के भीतर महत्वपूर्ण रास्तों (दर, संतुलन अद्यतन, वापसी) की p95 विलंबता रखते हैं।
नियंत्रण में लागत। लोच = "निरंतर उच्च" के बजाय "गर्म घड़ी" के लिए भुगतान करें।
नियामक और ब्रांड। नकदी रजिस्टर/बटुए की उपलब्धता और पूर्वानुमेय प्रचालन लेखा परीक्षा और खिलाड़ी विश्वास का विषय है।
स्केलिंग प्रकार
क्षैतिज (स्केल-आउट)
सेवा उदाहरण जोड़ें। स्टेटलेस-एपीआई, प्रदाताओं को पुल, वेब गेटवे, श्रमिकों के लिए आधार। पेशेवरों: गलती सहिष्णुता, लोच। विपक्ष: पहचान और बाहरी स्थिति की आवश्यकता है।
खड़ा (स्केल-अप)
नोड संसाधनों में वृद्धि। डेटाबेस और ओएलएपी समूहों के लिए उपयुक्त है, लेकिन एक सीमा है और प्रति इकाई लाभ अधिक महंगा है।
भौगोलिक
मल्टी-एजेड और, यदि आवश्यक हो, तो बहु-क्षेत्र: खिलाड़ी के करीब - दांव/धाराओं के लिए कम देरी और दुर्घटनाओं के लिए अधिक प्रतिरोध।
क्या वास्तव में एक कैसीनो में तराजू
एज और एपीआई: गेटवे, डब्ल्यूएएफ, ग्राफक्यूएल/आरईएसटी, वेबसॉकेट हब (दांव/घटनाएं)।
प्रदाताओं के लिए पुल: आरपीएस द्वारा एचपीए के साथ लाइव/आरएनजी एडेप्टर और 'बेट। स्वीकृत' का समय।
वॉलेट/लेजर: स्टेटफुल-कोर - रीडिंग, शार्डिंग और लेनदेन अनुकूलन के लिए प्रतिकृतियों के माध्यम से स्केलिंग।
नकद डेस्क: भुगतान प्रदाताओं/क्रिप्टो ऑन/ऑफ-रैंप के लिए अलग पूल, भुगतान के लिए कतारें।
कतारें/घटना बस: ऑटोस्कैलिंग उपभोक्ताओं के साथ काफ्का/एनएटीएस क्लस्टर।
कैश/निर्देशिका: हॉट कुंजी की रेडिस/मेमोरी-कैशिंग, स्थैतिक संपत्ति के लिए सीडीएन।
स्ट्रीमिंग: QoS पर ऑटोफोलबैक और ऑटोस्केल के साथ WebRTC/LL-HLS एज नोड्स।
इंजीनियरिंग दर्शन
1. पैसे में पहचान। 'बेट। प्लेस '/' पेआउट द्वारा कोई भी रिट्रे। अनुरोध 'बिल्कुल एक बार संसाधित किया जाता है (पहचान कुंजी)।
2. कतारें और बैकप्रेशर। महत्वपूर्ण रास्ते अवरुद्ध नहीं हैं: यदि प्रदाता/डेटाबेस धीमा है, तो अनुरोध एक नियंत्रित "नाली" के साथ बफर में गिरते हैं, माध्यमिक विशेषताएं पहले नीचा दिखाती हैं।
3. कैश पहले। पढ़ें-भारी प्रश्न (संतुलन, लॉबी) - कैश/भौतिक विचारों के माध्यम से; विकलांगता - घटनाओं से।
4. शार्डिंग। हम डेटा/धाराओं ('प्लेयर आईडी', देश, प्रदाता, मुद्रा द्वारा) को अलग करते हैं।
5. निरंतरता वह जगह है जहां पैसा है। केवल बटुआ/बही के लिए सख्त एसीआईडी; बाकी घटनाओं के माध्यम से अंतिम है।
6. रिलीज से पहले अवलोकन। मेट्रिक्स/ट्रेल्स सेवा अनुबंध का हिस्सा हैं, अन्यथा ऑटोस्केल "अंधा" है।
मेट्रिक्स और उद्देश्य (एसएलओ/एसएलए)
p95/p99 विलंबता:- 'bet। '150-250 ms (क्षेत्र के भीतर),' बटुआ रखें। डेबिट/क्रेडिट '≤ 50-100 мс,' भुगतान। उद्धरण/प्रस्तुत करें '≤ 500-800 мс।
- त्रुटि दर: '5xx' <0। 1–0. एपीआई पर 3%, 'रिजेक्ट _ रेट' दांव <0। 2% सामान्य ऑपरेशन के दौरा
- थ्रूपुट: एपीआई/पुल पर आरपीएस; बस पर घटनाओं/सेकंड।
- कतारें: लंबाई और प्रतीक्षा समय (उदाहरण के लिए, पीक ऑवर्स के दौरान भुगतान ≤ 2-5 मिनट)।
- स्ट्रीम QoS: गिराए गए फ्रेम, RTT सट्टेबाजी संकेत, गर्भपात के दौर।
- कैश हिट: गर्म चाबियों पर हिट-अनुपात> 85-95%।
- लागत/राजस्व: बुनियादी ढांचे/जीजीआर की लागत, अनुरोध की लागत (प्रति कॉल $)।
डोमेन स्केलिंग पैटर्न
बटुआ और खाता
पढ़ ने के लिए पाठक-प्रतिकृति; लेखक - एक प्रति शार्ड।- CQRS: पढ़ ने (भौतिक स्लाइस) से अलग लिखें (सख्ती से)।
- बैच सुलह और "टच-अप" लेनदेन - केवल एपेंड-जर्नल के माध्यम से सख्ती से।
पुल/खेल एकीकरण
'बेट की विलंबता द्वारा ऑटोस्केल के साथ स्टेटलेस एडेप्टर। स्वीकार किया '।
प्रत्येक प्रदाता के लिए सर्किट ब्रेकर, गिरावट के साथ - यूआई का अस्थायी क्षरण और अक्षम तालिकाओं।
भुगतान/क्रिप्टो
वेबहुक और पीएसपी/ऑन-चेन श्रोताओं के लिए समर्पित पूल; पहचान द्वारा पुनर्संसाधन।
एसएलए/लागत/देश पर आधारित प्रदाता द्वारा अनुमार्गण।
ऑपरेशन लोड किया जा रहा है
श्रमिक/नौकरियां (बोनस, मिशन, टूर्नामेंट) - कतारों में; कतार की लंबाई और समय सीमा द्वारा बढ़ाए गए हैं।
स्ट्रीमिंग
क्षेत्रों के लिए एज पूल, WebRTC → LL-HLS ऑटो-फाउल; QoS प्रतिधारण के लिए ऊर्ध्वाधर बिटरेट/गुणवत्ता सीमा।
वास्तुशिल्प समाधान
एचपीए/वीपीए/क्लस्टर ऑटोस्केलर: एचपीए - на API/ब्रिज; वीपीए - ईटीएल/रिपोर्ट के लिए; नोड्स - विषम पूल (सीपीयू-भारी, स्मृति-भारी, नेटवर्क-अनुकूलित)।
PodDis बजट और प्राथमिकताएं: धन का मूल विस्थापन से सुरक्षित है।
फ़ीचर फ़्लैग और कैनरी रिलीज़: ट्रैफ़िक के प्रतिशत के लिए नई सुविधाओं को स्के
जियो-रूटिंग: Anycast/DNS और क्षेत्रीय इंग्रेस गेटवे उपयोगकर्ता के करीब हैं।
लागत और दक्षता
संसाधन प्रोफाइल। अनुरोध/सीमाएं निर्धारित की जाती हैं और वास्तविक प्रोफ़ाइल (महत्वपूर्ण रास्तों पर सीपीयू-थ्रॉटलिंग के बिना) के अनुरूप होती हैं।
एनालिटिक्स/ईटीएल और पृष्ठभूमि नौकरियों के लिए स्पॉट पूल।- काम करने की खिड़की के बाहर स्वतः निष्क्रिय परीक्षण/चरण वातावरण।
- कोर के बजाय कैश। डेटाबेस द्वारा सीपीयू को गुणा करने की तुलना में रेडिस हिट जोड़ ना सस्ता है।
स्केल-आउट सुरक्षा
कॉल ग्राफ बढ़ ने के साथ सेवाओं के बीच mTLS/जाल।- नेटवर्किंग पॉलिसी: मनी/पीआईआई डोमेन अलग ट्रस्ट जोन हैं।
- रहस्यों को घुमाना और छवियों पर हस्ताक्षर करना - अधिक नोड्स = अधिक जोखिम वाले स
- ब्लास्ट-त्रिज्या नियंत्रण: शार्डिंग और अनुरोध सीमाएं झरने से बचाती हैं।
एंटी-पैटर्न
वैश्विक तालों के साथ स्केल मोनोलिथ: चूल्हों में वृद्धि = संघर्षों में वृद्धि।
एचपीए के बजाय "चरम पर" हमेशा के लिए गर्म समूह और "माध्यमिक" सुविधाओं का क्षरण।
एक ही डेटाबेस पर OLTP और OLAP मिलाएं - कोई भी रिपोर्ट शर्त देरी को मारती है।
पहचान की कमी - पीछे हटने पर डेबिट का दोगुना (विशेष रूप से चरम पर)।
सीपीयू द्वारा ब्लाइंड ऑटोस्केल - वास्तविक मीट्रिक (समय 'बेट। प्लेस', कतार की लंबाई) की अनदेखी करता है।
प्रति देश एक भुगतान प्रदाता - जब यह "झूठ" होता है तो पैमाने पर कुछ भी नहीं होता है।
स्केलिंग कार्यान्वयन चेकलिस्ट
रणनीति
- SLO (p95 विलंबता, त्रुटियां, RPS) और त्रुटि बजट परिभाषित हैं।
- डोमेन विभाजन: धन/दरें/नकद डेस्क - द्वितीयक सुविधाओं से अलग।
आंकड़ा
- शार्डिंग/प्रतिकृतियां, CQRS प्रति पढ़ा, भौतिक दृश्य।
- एक स्पष्ट विकलांगता नीति के साथ एक कैश परत।
बुनियादी ढांचा
- एचपीए/वीपीए, विविध नोड पूल, पीडीबी और प्राथमिकताएं।
- जियो-रूटिंग, मल्टी-एजेड, डीआर तत्परता
अनुप्रयोग
- पैसे/भुगतान/वेबहूक के लिए Idempot कुंजी।
- सर्किट ब्रेकर और टाइमआउट; Backpressure/कतारें।
- झंडे और कैनरी की सुविधा।
अवलोकन क्षमता
- ट्रेल्स एंड-टू-एंड (इंग्रेस → API → वॉलेट → प्रदाता → वेबहुक) हैं।
- डैशबोर्ड आरपीएस/लेटेंसी/त्रुटियां/कतारें/क्यूओएस स्ट्रीम।
- 'अस्वीकृत _ दर' वृद्धि और 'गोल' गिरावट के लिए अलर्ट। बस जाओ '।
लागत
- सही अनुरोध/सीमाएं, पृष्ठभूमि कार्यों के लिए धब्बे, ऑटो-स्लीप नॉन-प्रोड।
स्केलिंग इंफ्रास्ट्रक्चर "अधिक सर्वर" के बारे में नहीं है। "यह नियंत्रित लोच के बारे में है: जहां कठिन स्थिरता (धन) की आवश्यकता होती है - हम एक शार्ड कोर और तेज लेनदेन डिजाइन करते हैं; जहाँ संभव हो - हम घटनाओं, कतारों और कैश में स्थानांतरित करते हैं। इस अवलोकन, भूगोल और रिलीज़ अनुशासन में जोड़ें - और प्लेटफ़ॉर्म SLO, P&L और खिलाड़ी के आत्मविश्वास पर समझौता किए बिना किसी भी चोटी का सामना करेगा।