माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) · पाठ

Saga ऑर्केस्ट्रेटर का अभिकल्पन

Saga की स्थिति और चरणों के प्रबंधन के लिए उत्तरदायी समर्पित ऑर्केस्ट्रेटर सेवा का अभिकल्पन करना सीखिए।

पाठ 1, कुल 4 में से11 चरण

Saga ऑर्केस्ट्रेटर का अभिकल्पन, CoddyKit पर माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

सागा ऑर्केस्ट्रेटर क्या है

ऑर्केस्ट्रेशन सागा में, ऑर्केस्ट्रेटर नामक एक समर्पित सेवा पूरे वितरित लेन-देन का प्रबंधन अपने हाथ में लेती है।

इसे किसी ऑर्केस्ट्रा के संचालक की तरह समझिए। अलग-अलग संगीतकारों (सेवाओं) के एक-दूसरे पर प्रतिक्रिया करने के बजाय, संचालक (ऑर्केस्ट्रेटर) हर संगीतकार को बताता है कि उसे अपना हिस्सा कब बजाना है।

ऑर्केस्ट्रेटर का उपयोग क्यों करें?

ऑर्केस्ट्रेशन कई लाभ प्रदान करता है, विशेष रूप से जटिल व्यावसायिक प्रवाहों के लिए:

  • केंद्रीकृत तर्क: सागा का सारा तर्क एक ही स्थान पर रहता है, जिससे उसे समझना और प्रबंधित करना आसान हो जाता है।
  • आसान बदलाव: सागा के चरणों में बदलाव करना या नए चरण जोड़ना सरल होता है, क्योंकि सभी परिवर्तन ऑर्केस्ट्रेटर तक सीमित रहते हैं।
  • अधिक स्पष्ट डिबगिंग: लेन-देन के प्रवाह का पता लगाना और यह ठीक-ठीक निर्धारित करना आसान होता है कि विफलता कहाँ हुई।

मुख्य ज़िम्मेदारियाँ

लेन-देन के सफलतापूर्वक पूरा होने या उचित रूप से प्रतिपूरित होने को सुनिश्चित करने के लिए सागा ऑर्केस्ट्रेटर की कुछ महत्वपूर्ण ज़िम्मेदारियाँ होती हैं:

  • सागा शुरू करना: पहला कमांड भेजकर लेन-देन शुरू करना।
  • स्थिति पर नज़र रखना: सागा की वर्तमान प्रगति और स्थिति बनाए रखना।
  • चरणों का समन्वय करना: वर्तमान स्थिति और प्रतिक्रियाओं के आधार पर सहभागी सेवाओं को कमांड भेजना।
  • प्रतिपूर्ति संभालना: किसी भी चरण के विफल होने पर रोलबैक कार्रवाइयाँ शुरू करना।

उदाहरण: ऑर्डर देने का सागा

आइए कई सेवाओं से जुड़े 'ऑर्डर देने' वाले सागा पर विचार करते हैं:

  1. ऑर्डर सेवा: ऑर्डर बनाती है।
  2. भुगतान सेवा: भुगतान संसाधित करती है।
  3. इन्वेंट्री सेवा: स्टॉक अपडेट करती है।
  4. शिपिंग सेवा: डिलीवरी की व्यवस्था करती है।

ऑर्केस्ट्रेटर ऑर्डर को इन चरणों से आगे बढ़ाएगा।

ऑर्केस्ट्रेटर की स्थिति का प्रबंधन

ऑर्केस्ट्रेटर को यह पता रखना चाहिए कि सागा अपने जीवनचक्र में किस स्थान पर है। यही उसकी स्थिति है। आम तौर पर इसमें ये चीज़ें संग्रहीत होती हैं:

  • sagaId: वर्तमान लेन-देन का एक विशिष्ट पहचानकर्ता।
  • currentStep: वर्तमान में सक्रिय या पूरा हो चुका चरण।
  • status: जैसे, IN_PROGRESS, COMPLETED, FAILED, COMPENSATING।

इस स्थिति को स्थायी रूप से संग्रहीत (सहेजा) किया जाना चाहिए, ताकि ऑर्केस्ट्रेटर के क्रैश होने पर वह फिर से काम कर सके।

प्रवाह का डिज़ाइन

ऑर्केस्ट्रेटर का डिज़ाइन एक स्थिति-मशीन जैसे प्रवाह के इर्द-गिर्द केंद्रित होता है:

  1. ऑर्केस्ट्रेटर किसी सहभागी सेवा को कमांड भेजता है (जैसे, 'ProcessPayment')।
  2. सहभागी सेवा अपनी कार्रवाई करती है और एक इवेंट वापस भेजती है (जैसे, 'PaymentProcessed' या 'PaymentFailed')।
  3. ऑर्केस्ट्रेटर इवेंट प्राप्त करता है, अपनी स्थिति अपडेट करता है और तय करता है कि अगला कौन-सा कमांड भेजना है या प्रतिपूर्ति शुरू करनी है।

ऑर्केस्ट्रेटर की संरचना (कोड)

यहाँ एक सरल Java उदाहरण दिया गया है, जो दिखाता है कि ऑर्केस्ट्रेटर अपनी स्थिति का प्रबंधन कैसे कर सकता है और प्रतिक्रियाओं पर कैसी प्रतिक्रिया दे सकता है। यह कोड प्रवाह का अनुकरण करता है:

public class OrderSagaOrchestrator {
  private String sagaId;
  private String currentState; 

  public OrderSagaOrchestrator(String id) {
    this.sagaId = id;
    this.currentState = "INITIATED";
    System.out.println("Saga " + sagaId + " state: " + currentState);
  }

  public void startOrderSaga() {
    System.out.println("Sending 'Process Payment' command.");
    this.currentState = "PAYMENT_PROCESSING";
    System.out.println("Saga " + sagaId + " state: " + currentState);
  }

  public void handlePaymentResponse(boolean success) {
    if (success) {
      System.out.println("Payment successful. Sending 'Update Inventory' command.");
      this.currentState = "INVENTORY_UPDATING";
    } else {
      System.out.println("Payment failed. Initiating compensation.");
      this.currentState = "FAILED";
    }
    System.out.println("Saga " + sagaId + " state: " + currentState);
  }

  public String getCurrentState() {
    return currentState;
  }

  public static void main(String[] args) {
    OrderSagaOrchestrator orchestrator = new OrderSagaOrchestrator("ORD-123");
    orchestrator.startOrderSaga();
    orchestrator.handlePaymentResponse(true); // Simulate success
    // orchestrator.handlePaymentResponse(false); // Try simulating failure
  }
}

ऑर्केस्ट्रेटर का संचार

विश्वसनीय संचार के लिए, ऑर्केस्ट्रेटर आम तौर पर सहभागी सेवाओं के साथ संदेश ब्रोकर (जैसे Apache Kafka या RabbitMQ) के माध्यम से संपर्क करते हैं।

  • ऑर्केस्ट्रेटर विशिष्ट सेवाओं के लिए कतारों/विषयों पर कमांड प्रकाशित करता है।
  • सहभागी सेवाएँ ऑर्केस्ट्रेटर द्वारा सब्सक्राइब किए गए विषयों पर इवेंट (सफलता या विफलता) वापस प्रकाशित करती हैं।

यह अतुल्यकालिक संदेश-विनिमय ढीला युग्मन और बेहतर लचीलापन सुनिश्चित करता है।

प्रतिपूर्ति लागू करना

यदि कोई सहभागी सेवा विफलता की सूचना देती है, तो ऑर्केस्ट्रेटर को प्रतिपूर्ति शुरू करनी होगी। इसका अर्थ है कि सफलतापूर्वक पूरे किए गए चरणों को उलटना।

उदाहरण के लिए, यदि भुगतान सफल हुआ लेकिन इन्वेंट्री अपडेट विफल रहा, तो ऑर्केस्ट्रेटर Payment Service को 'RefundPayment' कमांड भेजेगा।

यहाँ ऑर्केस्ट्रेटर की स्थायी रूप से संग्रहीत स्थिति बहुत महत्वपूर्ण है, क्योंकि उसे ठीक-ठीक पता होता है कि किन चरणों को वापस करना है।

त्वरित जाँच

निम्नलिखित में से कौन-सी सागा ऑर्केस्ट्रेटर की मुख्य ज़िम्मेदारियाँ हैं?

पुनरावलोकन: ऑर्केस्ट्रेटर का डिज़ाइन

इस पाठ में हमने सागा ऑर्केस्ट्रेटर के डिज़ाइन के बारे में सीखा। यह एक समर्पित सेवा है, जो वितरित लेन-देन के लिए केंद्रीय समन्वयक की भूमिका निभाती है।

  • यह चरण शुरू करती है, स्थिति पर नज़र रखती है और सहभागी सेवाओं का समन्वय करती है।
  • इसके डिज़ाइन में स्थायी स्थिति प्रबंधन और संदेश ब्रोकर के माध्यम से मज़बूत संचार महत्वपूर्ण हैं।
  • ऑर्केस्ट्रेटर डिबगिंग और जटिल व्यावसायिक प्रवाहों के प्रबंधन को सरल बनाते हैं, विशेष रूप से अपनी अंतर्निहित प्रतिपूर्ति तर्क के कारण।

अगले पाठ में हम जानेंगे कि और भी मज़बूत ऑर्केस्ट्रेटर बनाने के लिए स्थिति मशीनों का उपयोग कैसे किया जाता है!

शुरुआत निःशुल्क

एआई शिक्षक के साथ माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
12
पाठ
48

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

क्या “Saga ऑर्केस्ट्रेटर का अभिकल्पन” पाठ निःशुल्क है?

हाँ—“Saga ऑर्केस्ट्रेटर का अभिकल्पन” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Saga ऑर्केस्ट्रेटर का अभिकल्पन” में मैं क्या सीखूँगा?

Saga की स्थिति और चरणों के प्रबंधन के लिए उत्तरदायी समर्पित ऑर्केस्ट्रेटर सेवा का अभिकल्पन करना सीखिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“Saga ऑर्केस्ट्रेटर का अभिकल्पन” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Saga ऑर्केस्ट्रेटर का अभिकल्पन
  2. ऑर्केस्ट्रेशन के लिए स्टेट मशीन
  3. वर्कफ़्लो इंजन के साथ कार्यान्वयन
  4. Orchestration-आधारित Sagas का परीक्षण
← माइक्रोसर्विस संचार पैटर्न (Saga, Circuit Breaker) पर वापस जाएँ