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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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