I/O टाइम आउट कॉन्फ़िगर करने के लिए सबसे सही तरीके

आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं.
जानकारी

क्लाइंट ऐप्लिकेशन से किए गए एपीआई अनुरोध, बैकएंड सेवाओं तक पहुंचने से पहले Apigee Edge के अलग-अलग कॉम्पोनेंट से होकर गुज़रते हैं. ज़्यादातर क्लाइंट ऐप्लिकेशन को इन अनुरोधों के जवाब समय पर मिलने चाहिए.

समय पर जवाब पाने के लिए, I/O टाइमआउट की वैल्यू को उन सभी कॉम्पोनेंट में सेट किया जाता है जिनसे एपीआई के अनुरोध गुज़रते हैं. अगर फ़्लो में मौजूद कोई कॉम्पोनेंट, पिछले कॉम्पोनेंट से ज़्यादा समय लेता है, तो पिछला कॉम्पोनेंट टाइम आउट हो जाता है. साथ ही, 504 गेटवे टाइमआउट की गड़बड़ियों के साथ वापस जवाब देता है.

टाइम आउट को कॉन्फ़िगर करते समय, हर कॉम्पोनेंट में वैल्यू को बहुत सावधानी से कॉन्फ़िगर किया जाना चाहिए. ऐसा न करने पर, 504 गेटवे टाइमआउट की गड़बड़ियां हो सकती हैं.

इस दस्तावेज़ में, Apigee Edge में एपीआई अनुरोधों के फ़्लो के लिए, अलग-अलग कॉम्पोनेंट पर I/O टाइमआउट को कॉन्फ़िगर करने के सबसे सही तरीकों के बारे में बताया गया है.

I/O टाइमआउट को कॉन्फ़िगर करने के सबसे सही तरीके

I/O टाइमआउट को कॉन्फ़िगर करते समय, इन सबसे सही तरीकों को ध्यान में रखें:

  • पहला कॉम्पोनेंट: एपीआई अनुरोध फ़्लो में पहले कॉम्पोनेंट के लिए हमेशा सबसे ज़्यादा टाइम आउट का इस्तेमाल करें. यह Apigee Edge में क्लाइंट ऐप्लिकेशन होता है.
  • आखिरी कॉम्पोनेंट: एपीआई अनुरोध फ़्लो में आखिरी कॉम्पोनेंट के लिए हमेशा सबसे कम टाइम आउट का इस्तेमाल करें. यह Apigee Edge में बैकएंड सेवा होती है.
  • कंपोनेंट के बीच: पक्का करें कि फ़्लो में मौजूद पहले और आखिरी कंपोनेंट के बीच, हर कंपोनेंट में कॉन्फ़िगर की गई टाइमआउट वैल्यू में कम से कम दो से तीन सेकंड का अंतर हो.
  • राउटर: राउटर पर I/O टाइमआउट वैल्यू को कॉन्फ़िगर करने (बदलाव करने) के बजाय, किसी वर्चुअल होस्ट के लिए इसे कॉन्फ़िगर करना हमेशा बेहतर होता है. इससे यह पक्का होता है कि नई टाइमआउट वैल्यू का असर सिर्फ़ उन एपीआई प्रॉक्सी पर पड़ता है जो किसी खास वर्चुअल होस्ट का इस्तेमाल कर रही हैं. इसका असर, राउटर से दिखाई जा रही सभी एपीआई प्रॉक्सी पर नहीं पड़ता.

    राउटर पर I/O टाइमआउट को सिर्फ़ तब कॉन्फ़िगर (बदलें) करें, जब आपको पूरा भरोसा हो कि नई I/O टाइमआउट वैल्यू ज़रूरी है या राउटर पर चल रही सभी एपीआई प्रॉक्सी पर लागू होती है.

  • मैसेज प्रोसेसर: किसी एपीआई प्रॉक्सी के लिए I/O टाइमआउट की वैल्यू को कॉन्फ़िगर (बदलाव करना) करना हमेशा एक अच्छा तरीका होता है. इसके बजाय, इसे मैसेज प्रोसेसर पर कॉन्फ़िगर करना चाहिए. इससे यह पक्का होता है कि नई टाइमआउट वैल्यू का असर सिर्फ़ खास एपीआई प्रॉक्सी पर पड़े, न कि Message Processor से दिखाई जा रही सभी एपीआई प्रॉक्सी पर.

    Message Processor पर I/O टाइमआउट को सिर्फ़ तब कॉन्फ़िगर (बदलें), जब आपको पूरी तरह से यकीन हो कि Message Processor पर चल रही सभी API प्रॉक्सी के लिए, I/O टाइमआउट की नई वैल्यू ज़रूरी है या लागू होती है.

उदाहरण के तौर पर दिए गए मामले

इस सेक्शन में दिए गए उदाहरणों से, आपको I/O टाइमआउट की वैल्यू को सही तरीके से सेट करने का तरीका समझने में मदद मिल सकती है.

पहली स्थिति: क्लाइंट ऐप्लिकेशन से सीधे Apigee Edge को किए गए अनुरोध

इस सेक्शन में, Apigee Edge के ऐसे सेटअप में टाइमआउट वैल्यू सेट अप करने के सबसे सही तरीकों के बारे में बताया गया है जहां क्लाइंट ऐप्लिकेशन और Apigee Edge के बीच, साथ ही Apigee Edge और आपके बैकएंड सर्वर के बीच कोई इंटरमीडिएट कॉम्पोनेंट नहीं है.

बिना इंटरमीडिएट कॉम्पोनेंट वाला Apigee सेटअप का सैंपल

क्लाइंट से शुरू होकर, राउटर, मैसेज प्रोसेसर, और फिर बैकएंड सर्वर तक जाने वाला फ़्लो

अगर Apigee Edge को ऊपर दिए गए डायग्राम में दिखाए गए तरीके से सेट अप किया गया है और इसमें कोई इंटरमीडिएट कॉम्पोनेंट नहीं है, तो इन सबसे सही तरीकों का इस्तेमाल करें:

  1. क्लाइंट ऐप्लिकेशन, फ़्लो का पहला कॉम्पोनेंट होता है. क्लाइंट पर सबसे ज़्यादा टाइम आउट वैल्यू सेट होनी चाहिए.
  2. बैकएंड सर्वर, फ़्लो का आखिरी कॉम्पोनेंट होता है. सबसे कम टाइमआउट वैल्यू को बैकएंड सर्वर पर सेट किया जाना चाहिए.
  3. हर कॉम्पोनेंट के लिए टाइम आउट की वैल्यू को इस क्रम में कॉन्फ़िगर करें:

    क्लाइंट, राऊटर, मैसेज प्रोसेसर, और बैकएंड सर्वर पर टाइमआउट कॉन्फ़िगर करना

    यहां दिए गए उदाहरण में, ऊपर दिए गए दिशा-निर्देशों के मुताबिक, अलग-अलग कॉम्पोनेंट के लिए सेट की गई टाइमआउट वैल्यू दिखाई गई हैं, ताकि कोई समस्या न हो:

    क्लाइंट पर टाइमआउट को 60 सेकंड पर कॉन्फ़िगर करें. इसके बाद, राऊटर पर 57 सेकंड, मैसेज प्रोसेसर पर 55 सेकंड, और फिर बैकएंड सर्वर पर 52 सेकंड पर कॉन्फ़िगर करें

दूसरी स्थिति: इंटरमीडिएट कॉम्पोनेंट के ज़रिए, क्लाइंट ऐप्लिकेशन से Apigee Edge को किए गए अनुरोध

इस सेक्शन में, Apigee Edge सेटअप में टाइमआउट वैल्यू सेट अप करते समय, सबसे सही तरीके बताए गए हैं. इस सेटअप में, क्लाइंट ऐप्लिकेशन और Apigee Edge के बीच एक या उससे ज़्यादा इंटरमीडिएट कॉम्पोनेंट होते हैं. साथ ही, Apigee Edge और आपके बैकएंड सर्वर के बीच भी एक या उससे ज़्यादा इंटरमीडिएट कॉम्पोनेंट होते हैं.

इंटरमीडिएट कॉम्पोनेंट, लोड बैलेंसर, कॉन्टेंट डिलीवरी नेटवर्क (CDN), NGINX वगैरह हो सकते हैं.

क्लाइंट और Apigee Edge के बीच और Apigee Edge और बैकएंड सर्वर के बीच एक इंटरमीडिएट कॉम्पोनेंट के साथ Apigee सेटअप का सैंपल

क्लाइंट से शुरू होकर इंटरमीडिएट कॉम्पोनेंट 1, फिर राउटर, फिर मैसेज प्रोसेसर, फिर इंटरमीडिएट कॉम्पोनेंट 2, और आखिर में बैकएंड सर्वर तक जाने वाला फ़्लो

अगर Apigee Edge को ऊपर दिए गए डायग्राम में दिखाए गए तरीके से सेट अप किया गया है, जिसमें एक या उससे ज़्यादा इंटरमीडिएट कॉम्पोनेंट शामिल हैं, तो इन सबसे सही तरीकों का इस्तेमाल करें:

  1. क्लाइंट ऐप्लिकेशन, फ़्लो का पहला कॉम्पोनेंट होता है. क्लाइंट पर, सबसे ज़्यादा टाइम आउट वैल्यू सेट की जानी चाहिए.
  2. बैकएंड सर्वर, फ़्लो का आखिरी कॉम्पोनेंट होता है. बैकएंड सर्वर पर, सबसे कम टाइम आउट वैल्यू सेट की जानी चाहिए.
  3. हर कॉम्पोनेंट के लिए टाइम आउट की वैल्यू कॉन्फ़िगर करें. इसमें इंटरमीडिएट कॉम्पोनेंट भी शामिल हैं. इन्हें इस क्रम में कॉन्फ़िगर करें:

    क्लाइंट, इंटरमीडिएट कॉम्पोनेंट 1, राऊटर, मैसेज प्रोसेसर, इंटरमीडिएट कॉम्पोनेंट 2, और फिर बैकएंड सर्वर पर टाइम आउट कॉन्फ़िगर करें

    यहां दिए गए उदाहरण में, ऊपर दिए गए दिशा-निर्देशों के मुताबिक, अलग-अलग कॉम्पोनेंट के लिए सेट की गई टाइमआउट वैल्यू दिखाई गई हैं, ताकि कोई समस्या न हो:

    क्लाइंट पर टाइम आउट को 63 सेकंड पर कॉन्फ़िगर करें. इसके बाद, इंटरमीडिएट कॉम्पोनेंट 1 पर 60 सेकंड, फिर राऊटर पर 57 सेकंड, फिर मैसेज प्रोसेसर पर 55 सेकंड, फिर इंटरमीडिएट कॉम्पोनेंट 2 पर 52 सेकंड, और फिर बैकएंड सर्वर पर 59 सेकंड पर कॉन्फ़िगर करें