स्वास्थ्य-जांच तंत्र
1) क्यों
कैस्केडिंग विफलताओं के खिलाफ स्वास्थ्य-जांच पहली बाधा है: वे रोटेशन से नोड्स को सही ढंग से हटाते हैं, रिट्रे तूफान को रोकते हैं, गिरावट को सरल करते हैं और वसूली में तेजी लाते हैं, एसएलओ को संरक्षित करते हैं और एमटीटीआर को कम करते हैं।
2) बुनियादी प्रकार के चेक
जीवंतता - प्रक्रिया "जीवित" (कोई गतिरोध/रिसाव/आतंक) नहीं है। त्रुटि - उदाहरण पुनः प्रारंभ
तत्परता - सेवा लक्ष्य एसएलओ के साथ यातायात की सेवा करने में सक्षम है (पूल को उठाया जाता है, कैश को गर्म किया जाता है, आश्रित संसाधन सामान्य होते हैं)। त्रुटि - संतुलन से बाहर रखा जाए, लेकिन पुनः प्रारंभ नहीं किया गया।
स्टार्टअप - सेवा जीवंतता/तत्परता (लंबे बूटस्ट्रैप, माइग्रेशन, वार्मअप) पर जाने के लिए तैयार है। समय से पहले फिर से शुरू होने से बचाता है।
डीप-हेल्थ (डोमेन-विशिष्ट): व्यापार अपरिवर्तनीय (दर अंत-से-अंत तक गुजरती है, जमा सक्रिय पीएसपी द्वारा अधिकृत है)। गिरावट संकेतों के लिए उपयोग किया जाता है, लेकिन तत्काल पुनरारंभ के लिए नहीं।
बाहरी/सिंथेटिक: सक्रिय पिंग बाहर (एपीआई पथ, फ्रंट स्क्रिप्ट, पीएसपी/केवाईसी समापन बिंदु) - उपयोगकर्ता की उपलब्धता को मापते हैं।
3) नमूना डिजाइन: सामान्य नियम
1. सस्ती जीवनयापन: बाहरी निर्भरताओं पर न जाएं; घटना लूप, ढेर/एफडी, प्रहरी की जाँच करें।
2. एसएलओ द्वारा तत्परता: हम रखरखाव (डेटाबेस पूल, गर्म कैश, सीमा) के लिए आवश्यक स्थानीय संसाधनों की जांच करते हैं। बाहरी निर्भरता - गैर-अवरोधक के माध्यम से "कैन-सर्व कर सकते हैं?" संकेत।
3. विलंबता-बजट: प्रत्येक नमूने का अपना SLA होता है (उदाहरण के लिए, ≤100 -200 ms); यदि पार हो गया - "अपमानित", लेकिन जीविका पर 5xx नहीं।
4. बैकऑफ एंड जिटर: नमूना अंतराल 5-15 सेकंड, टाइमआउट 1-2 सेकंड, तुल्यकालिक तूफानों से बचने के लिए त्रुटियों में घातीय देरी के साथ।
5. हिस्टेरिसिस: स्थिति परिवर्तन के लिए एन सफलता/त्रुटि प्रतिक्रियाएं (उदा। 'SuccessThreshold = 2', ' थ्रेशोल्ड = 3')।
6. संस्करण: समापन बिंदु '/healthz ', '/readyz', '/startupz 'स्थिर हैं; '/स्वास्थ्य/... के तहत डीप-चेक 'चेक नाम दिया।
7. कोई रहस्य और पीआईआई: उत्तर केवल स्टेटस और शॉर्ट कोड हैं।
8. व्याख्यात्मकता: उप-जाँच की एक सूची के साथ JSON: "{" स्थिति ":" अपमानित "," चेक ": [{" नाम ":" db ":" ठीक है ": सही," lat Ms ": 18}, {" नाम ":" psp। यूरोपीय संघ, ""ओके ": गलत ", कारण":" टाइमआउट"}} '।
4) परत द्वारा गहरी जांच के उदाहरण
4. 1 डीबी/कैश/भंडारण
DB: प्रतिकृति और पूल चेक पढ़ ने के लिए लघु लेनदेन 'SELECT 1' विलंबता/प्रतिकृति-अंतराल थ्रेसहोल्ड।
कैश: 'GET '/' SET' परीक्षण कुंजी + हिट-अनुपात गार्ड (कम हिट → चेतावनी)।
वस्तु भंडारण: मौजूदा वस्तु का शीर्ष (कोई डाउनलोड नहीं)।
4. 2 कतारें/स्ट्रीमिंग
ब्रोकर: स्थानीय विभाजन के भीतर पिंग-विषय प्रकाशन + उपभोग; उपभोक्ता-अंतराल थ्रेसहोल्ड।
DLQ: प्रति विंडो मृत-अक्षर संदेशों में कोई स्पाइक नहीं।
4. 3 बाहरी प्रदाता (पीएसपी/केवाईसी/एएमएल)
PSP: हल्के ऑथ-जांच (गैर-मौद्रिक), अनुबंध/प्रमाणपत्र/कोटा का सत्यापन; यदि कोई सुरक्षित नमूने नहीं हैं, तो हम प्रॉक्सी मेट्रिक्स (बैंकों/GEO द्वारा 5-10 मिनट में प्राधिकरण की सफलता) का उपयोग करते हैं।
केवाईसी/एएमएल: स्वास्थ्य-एपीआई और एसएलए कतारें; गिरावट के मामले में - एक वैकल्पिक धारा/प्रदाता पर स्विच करना।
4. 4 एपीआई/फ्रंट
सिंथेटिक्स: यूरोपीय संघ/एलटीएएम/एपीएसी में लेनदेन पथ (लॉगिन → जमा-दीक्षा → शर्त "रेत में")।
RUM सिग्नल: JS/HTTP और LCP/TTFB त्रुटियों का अनुपात - "बाहर" ट्रिगर करता है।
5) प्लेटफ़ॉर्म एकीकरण
5. 1 कुबर्नेट्स/क्लाउड
'startuppProber' बूटस्ट्रैप (माइग्रेशन/कैश वार्मअप)।
'liv Probess' न्यूनतम; 'readinsProb' पूल/कैश/स्थानीय कतारों को ध्यान में रखता है।
: ' सेकंड्स', 'प्रीमसेकंड्स', 'टाइमआउट सेकंड्स', 'थ्रेशोल्ड', 'सफल थ्रेशोल्ड'।
PodDis बजट और तत्परता पर विचार करने योग्य।
HPA/KEDA: कतार स्केलिंग/SLI; तत्परता मार्ग को प्रभावित करती है।
5. 2 बैलेंसर/गेटवे/मेष
L7 स्तर पर स्वास्थ्य-मार्ग (HTTP 200/429/503 शब्दार्थ)।
आउटलियर डिटेक्शन (दूत/जाल) - त्रुटि-दर/विलंबता प्रतिशत द्वारा पूल से आउटपुट।
सर्किट-ब्रेकर: निर्भरता के लिए एक साथ अनुरोधों/कनेक्शन के लिए सीमा, स्वास्थ्य संकेतों के साथ एकीकरण।
5. 3 ऑटोस्कैलिंग और गिरावट
तत्परता = FALSE - यातायात को हटा दिया जाता है, लेकिन फली जीवित है (गर्म कर सकती है)।
डीप-डिग्रेड (पीएसपी डाउन) → सुंदर मोड के लिए झंडे की सुविधा (उदाहरण के लिए, अस्थायी रूप से भुगतान विधियों को छिपाएं, प्रतीक्षा-कक्ष सक्षम करें)।
6) टाइमआउट और पीछे हटने की नीतियां
तुल्यकालिक निर्भरता के लिए टाइमआउट
पहचान: रिट्रेज़के लिए अनिवार्य; पहचान-कुंजी का उपयोग करें।
घातीय बैकऑफ + जिटर: तुल्यकालिक शाफ्ट प्रभाव को रोकता है।
रिट्रे बजट: कैप प्रति-अनुरोध/किरायेदार, "रीट्री-स्टॉर्म" के खिलाफ सुरक्षा।
7) स्थिति संकेत और सतर्कता
ग्रीन/येलो/रेड: सेवा डैशबोर्ड पर सारांश स्टेटस।
एसएलओ द्वारा बर्न-रेट अलर्ट: तेज (1 एच) और धीमी (6-24 एच)।
सहसंबंध-संकेत: रिलीज/फीचर ध्वज/योजना गतिविधि नोट्स।
ऑटो-एक्शन: "लाल" गहरी जांच के साथ - प्रदाता के पतन पर मुड़ें, पटरियों के नमूने को बढ़ाएं।
8) iGaming के लिए स्मार्ट रणनीति
भुगतान-जागरूक तत्परता: सट्टेबाजी सेवा की तत्परता PSP राउटर की स्थिति और बैंकों/GEO पर सीमाओं को ध्यान में रखती है।
ऑड्स/लाइन्स प्रकाशन: प्रकाशक की तत्परता/किनारे कैश में लाइन स्रोत और वितरण समय द्वारा सारांश अंतराल पर निर्भर करती है।
टूर्नामेंट स्पाइक्स: अधिक आक्रामक बाहरी-पहचान और प्रतीक्षा कक्ष की एक अस्थायी नीति।
9) एंटीपैटर्न
लाइवनेस, जो डेटाबेस/PSP → द्रव्यमान पर जाता है एक बाहरी समस्या के लिए फिर से शुरू होता है।
अलगाव स्टार्टअप/तत्परता/जीवन के बिना एक "सार्वभौमिक" स्वास्थ्य-समापन बिंदु।
बैकऑफ/जिटर - रिट्रे तूफान के बिना कठिन समय।
कोई हिस्टेरिसिस नहीं - रूटिंग फ्लैपिंग।
डीप-चेक, जो पुनरारंभ को ट्रिगर करता है (इसका उद्देश्य निदान और मार्ग है, फिर से शुरू नहीं)।
स्वास्थ्य समापन बिंदुओं में छिपा हुआ 5xx (वास्तविक स्थिति का मुखौटा)।
10) इंटरफ़ेस टेम्पलेट्स
/ startupz → '200 ओके {"uptimec": ..., "संस्करण":""...}'
चेक: init स्क्रिप्ट, माइग्रेशन पूरा, कुंजी और कॉन्फ़िग लोड किया गया.
/ healthz (livensy) → '200 ओके {"heapOk ": सच, "fdOk ": सच," eventLoop":" ओके"} '
जाँच: घटनाओं का चक्र, प्रक्रिया संसाधन, घबराहट/ऊम झंडे की अनुपस्थिति।
/ रेडीज़ (तत्परता) →
"२००" {"कैनसर्व": सही, "डीबी": {"ओके": सही, "लैट्स सुश्री": १२}, "कैश": {"ओके": सही} "कतार": {"ओके": सही ":" लैग ":" ओके: ट्रू} "
/ स्वास्थ्य/भुगतान (गहरा)
'200/206/503 {"psp। यूरोपीय संघ ": {"ओके ": गलत, "कारण":" टाइमआउट"} ", psp। ऑल्ट ": {"ओके": ट्रू} ", राउटरमोड ":" फेलओवर"} '
11) स्वास्थ्य-परिपथ गुणवत्ता मैट्रिक्स (केपीआई/केआरआई)
पॉड 'नोटरेडी' से 'रेडी' (वार्मअप-एसएलओ) तक का समय निकालते हैं।
प्रति सेवा तत्परता की आवृत्ति।
% गलती से पॉड (रूट-कारण - बाहरी निर्भरता) को फिर से शुरू किया।
उन घटनाओं का एमटीटीआर जहां स्वास्थ्य तंत्र ने एक भूमिका निभाई (पहले/बाद में)।
ऑन-कॉल के बिना स्वचालित विफलता/फीचर-डिग्रेड का हिस्सा।
सिंथेटिक्स सटीकता बनाम RUM (झूठी सकारात्मकता/मिस)।
12) कार्यान्वयन रोडमैप (4-8 सप्ताह)
नेड। 1-2: महत्वपूर्ण पथ सूची; पोस्ट स्टार्टअप/लाइवनेस/तत्परता; सब-चेक और हिस्टेरिसिस के साथ JSON प्रतिक्रियाएँ दर्ज करें।
नेड। 3-4: डीप-चेक जोड़ें: डेटाबेस/कैश/ब्रोकर; 2-3 GEO में लॉगिन/जमा/शर्त के लिए सिंथेटिक्स; / मेष प्रवेश द्वार पर बाहरी पहचान सक्षम करें।
नेड। 5-6: भुगतान-जागरूक तत्परता и पीएसपी-फॉलबैक; सामने के लिए प्रतीक्षा कक्ष लैग/कतारों द्वारा ऑटोस्कलिंग; बर्न-रेट द्वारा अलर्ट।
नेड। 7-8: अराजकता के दिन (पीएसपी/डेटाबेस प्रतिकृतियों को अक्षम करना), बैकऑफ/जिटर चेक; टाइमआउट फिनट्यूनिंग, पीडीबी; केपीआई रिपोर्ट और सुधार।
13) कलाकृतियाँ
स्वास्थ्य कल्पना (प्रति सेवा): चेक, समय बजट, हिस्टेरिसिस, लाल स्थिति वाले कार्यों की सूची।
रनबुक: "तत्परता = गलत: हम क्या कर रहे हैं? ", "पीएसपी-फॉलबैक: कदम और वापसी मानदंड।"
रूटिंग पॉलिसी: बाहरी-पहचान नियम, सर्किट-ब्रेकर, प्रतिशत थ्रेसहोल्ड।
सिंथेटिक प्लेबुक: स्क्रिप्ट और भौगोलिक, एसएलओ सिंथेटिक्स, शेड्यूल।
रिलीज़ गेट: लाल डीप-चेक कुंजी निर्भरता के साथ ब्लॉक जारी करें।
परिणाम
एक अच्छी तरह से डिज़ाइन किया गया स्वास्थ्य-जांच लूप संकेतों की एक स्तरित प्रणाली है: प्रक्रिया व्यवहार्यता के लिए आसान जीवन, यातायात सेवा क्षमता के लिए तत्परता, सुरक्षित शुरुआत के लिए स्टार्ट-विन। ऑटोस्कैलिंग, आउटलेयर-रूटिंग, सिंथेटिक्स और एसएलओ-अलर्टिंग के संयोजन में, यह कैस्केडिंग विफलताओं के जोखिम को कम करता है, एमटीटीआर को कम करता है और आईगेमिंग प्लेटफार्मों के व्यवसाय महत्वपूर्ण रास्तों को स्थिर करता है।