PRODसंप्रभु यूरोपीय BaaS मंचडैशबोर्ड खोलें →

प्रदर्शन · 10 मिनट पढ़ा

गेटवे दर सीमक और सर्किट ब्रेकर विलंबता

Affane Daylami · Fondateur · 11 मार्च 2026

ब्लॉग पर वापस जाएँ

एक ख़राब ढंग से रखा गया दर सीमक प्रत्येक अनुरोध में दसियों मिलीसेकंड जोड़ सकता है। अच्छी तरह डिज़ाइन किया गया, यह एक से भी कम जोड़ता है। ऑराबेस का रस्ट गेटवे (ऑरा-गेटवे) अपने मिडलवेयर स्टैक के केंद्र में - वितरित दर सीमित करने और सर्किट ब्रेकर - दोनों तंत्रों को लागू करता है। यहां बताया गया है कि तकनीकी साहित्य क्या कहता है, और ऑराबेस कोड सटीक रूप से क्या करता है।

यह अंग्रेजी पाठ फ़्रेंच मूल से स्वचालित रूप से उत्पन्न हुआ था और अभी तक इसकी समीक्षा नहीं की गई है।
यह पृष्ठ स्वचालित रूप से अनुवादित किया गया था. अंग्रेजी संस्करण प्रामाणिक है.

अनिवार्य है

कई विशेष स्रोतों के अनुसार एक उचित रूप से कार्यान्वित वितरित दर सीमक (परमाणु गणना, स्थानीय फ़ॉलबैक कैश) आम तौर पर प्रति अनुरोध एक मिलीसेकंड से कम जोड़ता है। ऑराबेस गेटवे बिल्कुल इस पैटर्न का अनुसरण करता है: स्थानीय एंटी-डीओएस के लिए governor क्रेट, उदाहरणों के बीच वितरित गिनती के लिए एक परमाणु लुआ रेडिस स्क्रिप्ट, रेडिस अनुपलब्ध होने पर फ़ॉलबैक moka कैश। ब्रेकर सर्किट विफलता की स्थिति में कथित विलंबता को जोड़ने के बजाय कम कर देता है - यह पूर्ण टाइमआउट की प्रतीक्षा को शॉर्ट-सर्किट कर देता है। आज तक कोई ऑराबेस विलंबता आंकड़े प्रकाशित नहीं किए गए हैं: यहां बताया गया है कि तंत्र वास्तव में क्यों और कैसे काम करता है।

#
ये दो बिचौलिए क्यों?

एंटी-डॉस और एंटी-कैस्केडिंग विफलता, दो अलग-अलग समस्याएं हैं

दर सीमित करना आपके बैकएंड को अत्यधिक ट्रैफ़िक से बचाता है, चाहे वह वैध हो या नहीं - यह प्रश्न का उत्तर देता है "क्या इस कॉलर को अब यह अनुरोध भेजने का अधिकार है?" "। सर्किट ब्रेकर आपके बैकएंड को पहले से ही डाउनस्ट्रीम सेवा से बचाता है - यह जवाब देता है "क्या यह सेवा कभी अनुत्तरदायी होती है, क्या हमें भी प्रयास करना चाहिए?" ". उन्हें भ्रमित करने से एक या दूसरे का आकार छोटा हो जाता है।

ऑराबेस गेटवे पर, दोनों एक ही मिडलवेयर स्टैक में रहते हैं लेकिन अलग-अलग मंजिलों पर: आईपी दर सीमित करना प्रमाणीकरण से पहले चलता है (शुद्ध एंटी-डीओएस, अप्रमाणित ट्रैफ़िक के लिए कोई बिलिंग एसक्यूएल क्वेरी जारी नहीं की जाती है), जबकि सर्किट ब्रेकर आंतरिक सेवाओं या एलएलएम प्रदाताओं को आउटगोइंग कॉल की सुरक्षा करता है।

#
प्रकाशित बेंचमार्क क्या कहते हैं

लागत पूरी तरह कार्यान्वयन पर निर्भर करती है, सिद्धांत पर नहीं

Tyk और APISIX इकोसिस्टम गाइड के अनुसार, Redis (परमाणु संचालन, Lua स्क्रिप्ट, देशी TTL) पर अच्छी तरह से डिज़ाइन की गई वितरित गिनती आम तौर पर 1-3 एमएस विलंबता जोड़ती है, सर्वोत्तम-अनुकूलित मामलों में उप-मिलीसेकंड p99 प्रभाव के साथ। इसके विपरीत, ज़ुप्लो दस्तावेज करता है कि एक खराब तरीके से रखा गया केंद्रीकृत दर सीमक प्रत्येक अनुरोध में दसियों मिलीसेकंड जोड़ सकता है - यह विसंगति सीधे आपके पी99 में दिखाई देती है।

तीसरे पक्ष के आंकड़े, विभिन्न पद्धतियाँ

ये श्रेणियाँ सार्वजनिक तकनीकी गाइड (टाइक, ज़ुप्लो, अपाचे APISIX इकोसिस्टम) से आती हैं, सामान्य माप प्रोटोकॉल से नहीं। वे परिमाण के एक क्रम और एक वास्तुशिल्प सिद्धांत को इंगित करते हैं - तुल्यकालिक और केंद्रीकृत के बजाय परमाणु और स्थानीय गिनती - एक अलग बुनियादी ढांचे पर पुन: उत्पन्न करने के लिए एक आंकड़ा नहीं है।

#
सत्यापित कार्यान्वयन

ऑरा-गेटवे में रेट लिमिटिंग वास्तव में कैसे काम करती है

ऑराबेस गेटवे स्थानीय फ़ॉलबैक लिमिटर के रूप में governor क्रेट (टोकन बकेट एल्गोरिदम) का उपयोग करता है, जो गेटवे के कई उदाहरणों के बीच स्थिति को साझा करने के लिए रेडिस के माध्यम से वितरित गिनती के साथ जुड़ा हुआ है। वितरित गिनती रेडिस पक्ष (एकल नेटवर्क ऑपरेशन मेंINCRBY + EXPIRE) पर परमाणु रूप से निष्पादित लुआ स्क्रिप्ट के माध्यम से होती है, न कि पढ़ने-फिर-लिखने वाली राउंड ट्रिप के माध्यम से जो एक समवर्ती विंडो पेश करेगी।

यदि रेडिस अनुपलब्ध हो जाता है, तो प्रत्येक अनुरोध पर लिमिटर को फिर से बनाने से बचने के लिए गेटवे स्वचालित रूप से कैश moka (अधिकतम 1,000,000 प्रविष्टियाँ, निष्क्रियता के 300 सेकंड पर समाप्ति) के साथ स्थानीय लिमिटर governorपर स्विच हो जाता है। यह फ़ॉलबैक देखने योग्य है: प्रत्येक टॉगल एक समर्पित प्रोमेथियस काउंटर को बढ़ाता है, ताकि टीम को पता चले कि प्रभावी सीमा कब एन इंस्टेंस × सीमा फिर से बन जाती है (अन्यथा मौन अंतर-इंस्टेंस अलगाव गिरावट)।

दर सीमित करने की दो परतें, केवल एक नहीं

गेटवे आईपी (प्रमाणीकरण से पहले) द्वारा एंटी-डीओएस रेट लिमिटिंग को प्रोजेक्ट/एपीआई कुंजी/उपयोगकर्ता कोटा (प्रमाणीकरण के बाद, जेडब्ल्यूटी दावे उपलब्ध होने के साथ) द्वारा सीमित करने से अलग करता है - स्टैक में दो अलग-अलग मिडलवेयर, प्रत्येक की अपनी ग्रैन्युलैरिटी होती है।

#
सत्यापित कार्यान्वयन

सर्किट ब्रेकर: तीन अवस्थाएँ, एक स्लाइडिंग विंडो

ऑराबेस ब्रेकर सर्किट (aura_core::circuit_breaker, एलएलएम प्रदाताओं के बीच फ़ॉलबैक के लिए गेटवे और aura-ai के बीच साझा किया जाता है) तीन क्लासिक स्थितियों का पालन करता है - Closed, Open, HalfOpen - एक काउंटर के बजाय एक स्लाइडिंग टाइम विंडो पर विफलताओं की गिनती के साथ जो कभी भी रीसेट नहीं होता है।

एक कार्यान्वयन विवरण जो उत्पादन में मायने रखता है: HalfOpen पर स्विच करने से एक समय में केवल एक जांच अनुरोध की अनुमति मिलती है (एंटी थंडरिंग-हर्ड) - इस गार्ड के बिना, सभी लंबित अनुरोध उस सेवा पर एक साथ पहुंच जाएंगे जो अभी फिर से खुल गई है, तुरंत उस विफलता को फिर से बनाना जिससे हम बचने की कोशिश कर रहे थे।

#
ढेर में ऑर्डर करें

जहां ये मिडलवेयर गेटवे में चलते हैं

ऑराबेस गेटवे मिडलवेयर स्टैक एक सटीक क्रम का पालन करता है, जिसे कोड में सत्यापित किया गया है: अनुरोध पहचानकर्ता → एक्सेस लॉग → आईपी द्वारा दर सीमित करना → प्रमाणीकरण → अभिनेता/कोटा द्वारा दर सीमित करना → सर्किट ब्रेकर → लक्ष्य सेवा के लिए प्रॉक्सी। डाउनस्ट्रीम में उच्च प्रसंस्करण लागत वहन करने से पहले, प्रत्येक चरण अवांछित ट्रैफ़िक को यथाशीघ्र अस्वीकार कर देता है।

पूरा लेख पढ़ें: ऑराबेस गेटवे में डेटा प्लेन बनाम प्रबंधन प्लेन

#
क्रियाविधि

यहां ऑराबेस के आंकड़े क्यों प्रकाशित नहीं किए गए?

कार्यान्वयन को गेटवे स्रोत कोड में पंक्ति दर पंक्ति सत्यापित किया गया है। लेकिन इस विशिष्ट बुनियादी ढांचे पर अभी तक कोई प्रतिलिपि प्रस्तुत करने योग्य माप प्रोटोकॉल नहीं चलाया और प्रकाशित किया गया है - एक बिना मापे गए आंकड़े को प्रकाशित करना बिना स्रोत वाले मार्केटिंग नंबरों की गलती को दोहराना होगा जिसे हम पुन: पेश करने से इनकार करते हैं। प्रदर्शन आंकड़ा जारी करने से पहले हमें क्या चाहिए, इसके लिए हमारी पूरी बेंचमार्क कार्यप्रणाली देखें।

#
अक्सर पूछे जाने वाले प्रश्नों

पूछे जाने वाले प्रश्न

क्या दर सीमित करने से अभी भी ध्यान देने योग्य विलंबता जुड़ती है?+
यह पूरी तरह कार्यान्वयन पर निर्भर है। Tyk और APISIX इकोसिस्टम द्वारा प्रकाशित बेंचमार्क के अनुसार एक अच्छी तरह से डिज़ाइन किया गया वितरित काउंटर (रेडिस पर परमाणु लुआ स्क्रिप्ट) आमतौर पर p99 में एक मिलीसेकंड से भी कम जोड़ता है। इसके विपरीत, स्टैक में खराब तरीके से रखा गया रेट लिमिटर दसियों मिलीसेकंड जोड़ सकता है।
क्या ऑराबेस गेटवे ने अपनी दर सीमित करने के लिए विलंबता का आंकड़ा प्रकाशित किया है?+
नहीं, कार्यान्वयन (स्थानीय फ़ॉलबैक के लिए क्रेट गवर्नर, वितरित गिनती के लिए लुआ रेडिस स्क्रिप्ट, मोचा कैश) कोड में सत्यापित है, लेकिन इस विशिष्ट बुनियादी ढांचे पर आज तक कोई प्रतिलिपि प्रस्तुत करने योग्य विलंबता बेंचमार्क प्रकाशित नहीं किया गया है।
ब्रेकर सर्किट कथित विलंबता को जोड़ने के बजाय कम क्यों करता है?+
क्योंकि एक खुला सर्किट ब्रेकर पूर्ण टाइमआउट की प्रतीक्षा करने के बजाय डाउन सेवा पर कॉल को शॉर्ट-सर्किट कर देता है। एक तत्काल विफलता प्रतिक्रिया की अनुमानित विलंबता उस अनुरोध की तुलना में कम होती है जो विफल होने से पहले कई सेकंड प्रतीक्षा करता है।

तैनाती के लिए तैयार हैं?

पाँच मिनट में आपका बैकएंड।

किसी क्रेडिट कार्ड की आवश्यकता नहीं · 500 एमबी निःशुल्क · 50,000 एमएयू