सर्किट ब्रेकर इंस्टेंस का विन्यास
त्रुटि सीमाओं और रीसेट नीतियों जैसे मापदंड निर्धारित करते हुए सर्किट ब्रेकर इंस्टेंस का व्यावहारिक विन्यास कीजिए।
सर्किट ब्रेकर इंस्टेंस का विन्यास, CoddyKit पर माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
सर्किट ब्रेकर कॉन्फ़िगरेशन का परिचय
Circuit Breaker इंस्टेंस को कॉन्फ़िगर करने के पाठ में आपका स्वागत है! पिछले पाठ में हमने सीखा कि लचीलापन क्यों महत्वपूर्ण है और पुनःप्रयास पैटर्न कैसे काम करते हैं।
अब आइए सर्किट ब्रेकर की स्थापना को विस्तार से समझें। आपकी सेवाओं के लिए इसे प्रभावी ढंग से काम कराने हेतु उचित कॉन्फ़िगरेशन आवश्यक है।
सर्किट ब्रेकर को कॉन्फ़िगर क्यों करें?
कॉन्फ़िगरेशन को अपने सर्किट ब्रेकर के लिए 'नियम' तय करना समझिए। ये नियम निर्धारित करते हैं:
- सर्किट कब खोलना है, यानी कितनी विफलताओं के बाद।
- इसे कितनी देर खुला रखना है, यानी दोबारा प्रयास करने से पहले कितनी देर प्रतीक्षा करनी है।
- सेवा के ठीक होने का परीक्षण कैसे करना है, यानी कितने परीक्षण अनुरोध भेजने हैं।
इन नियमों के बिना सर्किट ब्रेकर आपके सिस्टम की प्रभावी रूप से सुरक्षा नहीं कर सकता।
मुख्य कॉन्फ़िगरेशन पैरामीटर
सर्किट ब्रेकर स्थापित करते समय आपको आम तौर पर कुछ मुख्य पैरामीटर मिलेंगे:
- विफलता दर सीमा: सर्किट खोलने के लिए आवश्यक विफलताओं का प्रतिशत।
- स्लाइडिंग विंडो: हाल के कॉल का रिकॉर्ड कैसे रखा जाता है।
- कॉल की न्यूनतम संख्या: विफलता दर जाँचने से पहले आवश्यक कॉल।
- खुली स्थिति में प्रतीक्षा अवधि (रीसेट टाइमआउट): सर्किट कितनी देर तक खुला रहता है।
आइए इन्हें विस्तार से देखें।
विफलता दर सीमा
विफलता दर सीमा एक प्रतिशत होती है। यदि किसी विशेष विंडो के भीतर विफल कॉल का प्रतिशत इस सीमा से अधिक हो जाता है, तो सर्किट ब्रेकर सक्रिय होकर खुल जाता है।
उदाहरण के लिए, यदि इसे 50% पर सेट किया गया है और हाल की 10 कॉल में से 6 विफल हो जाती हैं, तो सर्किट खुल जाता है। इससे संघर्ष कर रही सेवा पर और अधिक अनुरोधों का अत्यधिक भार पड़ने से बचाव होता है।
स्लाइडिंग विंडो: संख्या-आधारित
स्लाइडिंग विंडो विफलता दर की गणना करने के लिए हाल की कॉल का रिकॉर्ड रखती है। इसके दो मुख्य प्रकार हैं।
संख्या-आधारित स्लाइडिंग विंडो हाल की कॉल की एक निश्चित संख्या का रिकॉर्ड रखती है। उदाहरण के लिए, यदि इसे 100 पर सेट किया गया है, तो विफलता दर निर्धारित करने के लिए यह केवल अंतिम 100 अनुरोधों पर विचार करती है।
स्लाइडिंग विंडो: समय-आधारित
समय-आधारित स्लाइडिंग विंडो किसी निश्चित समयावधि के भीतर की गई कॉल को ट्रैक करती है, जैसे पिछले 60 सेकंड की कॉल।
इसका अर्थ है कि पुरानी कॉल धीरे-धीरे विंडो से बाहर हो जाती हैं और केवल निर्धारित समय-सीमा के भीतर की गई कॉल ही विफलता दर की गणना में योगदान देती हैं। गतिशील ट्रैफ़िक पैटर्न के लिए अक्सर यही तरीका पसंद किया जाता है।
कॉल की न्यूनतम संख्या
कॉल की न्यूनतम संख्या पैरामीटर बहुत कम अनुरोधों के आधार पर सर्किट को बहुत जल्दी खुलने से रोकता है।
यदि इसे 10 पर सेट किया गया है, तो कम-से-कम 10 कॉल होने तक सर्किट ब्रेकर विफलता दर की सीमा की जाँच शुरू नहीं करेगा। इससे कम ट्रैफ़िक की अवधि में मिलने वाले गलत संकेतों से बचा जा सकता है।
खुली स्थिति में प्रतीक्षा अवधि
खुली स्थिति में प्रतीक्षा अवधि (जिसे रीसेट टाइमआउट भी कहा जाता है) यह निर्धारित करती है कि सर्किट 'खुली' स्थिति में रहने के बाद 'आधी-खुली' स्थिति में कब जाएगा।
यह विराम विफल सेवा को और अनुरोध प्राप्त किए बिना ठीक होने का समय देता है। यह अवधि पूरी होने के बाद कुछ 'परीक्षण' अनुरोधों को आगे जाने की अनुमति दी जाती है।
व्यवहार में कॉन्फ़िगर करना (Java उदाहरण)
यहाँ Resilience4j जैसी लाइब्रेरी का उपयोग करके सर्किट ब्रेकर को कॉन्फ़िगर करने वाला एक वैचारिक Java उदाहरण दिया गया है। ध्यान दें कि विफलता दर और प्रतीक्षा अवधि जैसे पैरामीटर किस तरह सेट किए जाते हैं।
import io.github.resilience4j.circuitbreaker.CircuitBreaker;
import io.github.resilience4j.circuitbreaker.CircuitBreakerConfig;
import java.time.Duration;
public class CircuitBreakerConfigDemo {
public static void main(String[] args) {
CircuitBreakerConfig config = CircuitBreakerConfig.custom()
.failureRateThreshold(50) // 50% failure rate to open
.waitDurationInOpenState(Duration.ofSeconds(10)) // Stay open for 10s
.slidingWindowType(CircuitBreakerConfig.SlidingWindowType.COUNT_BASED) // Count-based
.slidingWindowSize(10) // Window of 10 calls
.minimumNumberOfCalls(5) // Need at least 5 calls to start checking
.build();
CircuitBreaker circuitBreaker = CircuitBreaker.of("myService", config);
System.out.println("Circuit Breaker configured for 'myService'");
System.out.println("Failure Rate Threshold: " + config.getFailureRateThreshold() + "%");
System.out.println("Wait Duration (Open State): " + config.getWaitDurationInOpenState().getSeconds() + "s");
}
}त्वरित जाँच: सर्किट ब्रेकर कॉन्फ़िगरेशन
मान लीजिए कि सर्किट ब्रेकर इस प्रकार कॉन्फ़िगर किया गया है:
- विफलता दर सीमा: 60%
- स्लाइडिंग विंडो का आकार: 10 (गणना-आधारित)
- कॉल की न्यूनतम संख्या: 5
- खुली स्थिति में प्रतीक्षा अवधि: 30 सेकंड
यदि पिछली 6 कॉल में से 4 विफल हो जाती हैं, तो सर्किट ब्रेकर की *तत्काल* स्थिति क्या होगी?
पुनरावलोकन: सर्किट ब्रेकर कॉन्फ़िगर करना
बहुत अच्छा! आज हमने सर्किट ब्रेकर इंस्टेंस को कॉन्फ़िगर करने के लिए आवश्यक प्रमुख पैरामीटरों को समझा:
- विफलता दर सीमा: विफलताओं का वह प्रतिशत जिस पर सर्किट खुल जाता है।
- स्लाइडिंग विंडो: कॉल को किस तरह ट्रैक किया जाता है (गणना या समय के आधार पर)।
- कॉल की न्यूनतम संख्या: समय से पहले सर्किट खुलने से रोकती है।
- खुली स्थिति में प्रतीक्षा अवधि: पुनर्प्राप्ति का प्रयास करने से पहले सर्किट कितनी देर खुला रहता है।
माइक्रोसर्विस में प्रभावी दोष-सहनशीलता के लिए इन पैरामीटरों को समझना और सही ढंग से सेट करना अत्यंत महत्वपूर्ण है!
एआई शिक्षक के साथ माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “सर्किट ब्रेकर इंस्टेंस का विन्यास” पाठ निःशुल्क है?
हाँ—“सर्किट ब्रेकर इंस्टेंस का विन्यास” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“सर्किट ब्रेकर इंस्टेंस का विन्यास” में मैं क्या सीखूँगा?
त्रुटि सीमाओं और रीसेट नीतियों जैसे मापदंड निर्धारित करते हुए सर्किट ब्रेकर इंस्टेंस का व्यावहारिक विन्यास कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“सर्किट ब्रेकर इंस्टेंस का विन्यास” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- सर्किट ब्रेकर लाइब्रेरी का चयन
- सर्किट ब्रेकर इंस्टेंस का विन्यास
- सेवा कॉल में एकीकरण
- सर्किट ब्रेकर में वैकल्पिक व्यवस्थाएँ जोड़ना