मैसेज प्रोसेसर पर कनेक्शन का टाइम आउट कॉन्फ़िगर करना

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

इस दस्तावेज़ में, Apigee Edge के मैसेज प्रोसेसर के लिए, कनेक्शन टाइम आउट को कॉन्फ़िगर करने का तरीका बताया गया है.

कनेक्शन टाइम आउट होने का मतलब है कि मैसेज प्रोसेसर, टारगेट सर्वर के साथ कनेक्शन बनाने के लिए कितना इंतज़ार करता है. Message प्रोसेसर पर कनेक्शन टाइम आउट प्रॉपर्टी की डिफ़ॉल्ट वैल्यू 3 सेकंड है. यह टाइम आउट अवधि, टारगेट एंडपॉइंट कॉन्फ़िगरेशन और आपके एपीआई प्रॉक्सी की ServiceCallout नीति में कॉन्फ़िगर किए गए बैकएंड सर्वर पर लागू होती है.

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

  • एपीआई प्रॉक्सी में
    • टारगेट एंडपॉइंट में
    • ServiceCallout नीति के तहत
  • मैसेज प्रोसेसर पर

नीचे दी गई प्रॉपर्टी, मैसेज प्रोसेसर पर कनेक्शन टाइम आउट को कंट्रोल करती हैं:

प्रॉपर्टी का नाम जगह ब्यौरा
connect.timeout.millis एपीआई प्रॉक्सी:
  • टारगेट एंडपॉइंट
  • ServiceCallout नीति

यह ज़्यादा से ज़्यादा समय होता है, जब मैसेज प्रोसेसर, टारगेट सर्वर से कनेक्ट होने के लिए इंतज़ार करता है.

डिफ़ॉल्ट रूप से, यह प्रॉपर्टी Message प्रोसेसर पर HTTPClient.connect.timeout.millis प्रॉपर्टी के लिए सेट की गई वैल्यू लेती है, जहां डिफ़ॉल्ट वैल्यू 3 सेकंड होती है.

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

HTTPClient.connect.timeout.millis मैसेज प्रोसेसर

यह वह ज़्यादा से ज़्यादा समय होता है जिसमें मैसेज प्रोसेसर, टारगेट सर्वर से कनेक्ट होने के लिए इंतज़ार करता है.

इस प्रॉपर्टी का इस्तेमाल, इस Message प्रोसेसर पर चल रहे सभी एपीआई प्रॉक्सी के लिए किया जाता है.

इस प्रॉपर्टी की डिफ़ॉल्ट वैल्यू 3 सेकंड है.

नीचे दिए गए मैसेज प्रोसेसर पर कनेक्शन टाइम आउट कॉन्फ़िगर करना में बताए गए तरीके से, इस प्रॉपर्टी में बदलाव किया जा सकता है या connect.timeout.millis प्रॉपर्टी को एपीआई प्रॉक्सी लेवल पर सेट करके, इस वैल्यू को ओवरराइट किया जा सकता है.

शुरू करने से पहले

इस दस्तावेज़ में दिए गए चरणों का इस्तेमाल करने से पहले, पक्का करें कि आप इन विषयों को समझ गए हों:

एपीआई प्रॉक्सी में कनेक्शन टाइम आउट कॉन्फ़िगर करना

कनेक्शन टाइम आउट को एपीआई प्रॉक्सी में नीचे दी गई जगहों पर कॉन्फ़िगर किया जा सकता है:

  • टारगेट एंडपॉइंट
  • ServiceCallout नीति

एपीआई प्रॉक्सी के टारगेट एंडपॉइंट में कनेक्शन टाइम आउट कॉन्फ़िगर करना

इस सेक्शन में, आपके एपीआई प्रॉक्सी के टारगेट एंडपॉइंट में कनेक्शन टाइम आउट को कॉन्फ़िगर करने का तरीका बताया गया है. कनेक्शन टाइम आउट को connect.timeout.millis प्रॉपर्टी से कॉन्फ़िगर किया जा सकता है. यह प्रॉपर्टी, कनेक्शन के टाइम आउट की वैल्यू को मिलीसेकंड में दिखाती है.

  1. Edge यूज़र इंटरफ़ेस (यूआई) में, वह एपीआई प्रॉक्सी चुनें जिसमें आपको नए कनेक्शन के टाइम आउट की वैल्यू को कॉन्फ़िगर करना है.
  2. वह टारगेट एंडपॉइंट चुनें जिसमें आपको बदलाव करना है.
  3. TargetEndpoint कॉन्फ़िगरेशन में, <HTTPTargetConnection> एलिमेंट में सही वैल्यू वाली connect.timeout.millis प्रॉपर्टी जोड़ें.

    उदाहरण के लिए, कनेक्शन टाइम आउट को 5 सेकंड में बदलने के लिए, कोड का यह ब्लॉक जोड़ें:

    <Properties>
      <Property name="connect.timeout.millis">5000</Property>
    </Properties>
    

    connect.timeout.millis प्रॉपर्टी की वैल्यू मिलीसेकंड में होती है. इसलिए, 5 सेकंड की वैल्यू 5000 होती है.

    नीचे दिए गए उदाहरण आपके एपीआई प्रॉक्सी के टारगेट एंडपॉइंट कॉन्फ़िगरेशन में, कनेक्शन टाइम आउट को कॉन्फ़िगर करने का तरीका बताते हैं:

    बैकएंड सर्वर के लिए यूआरएल का इस्तेमाल करके, टारगेट एंडपॉइंट कॉन्फ़िगरेशन का उदाहरण

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <URL>https://mocktarget.apigee.net/json</URL>
        <Properties>
          <Property name="connect.timeout.millis">5000</Property>
        </Properties>
      </HTTPTargetConnection>
    </TargetEndpoint>
    

    टारगेट सर्वर का इस्तेमाल करके, टारगेट एंडपॉइंट के कॉन्फ़िगरेशन का उदाहरण

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="connect.timeout.millis">5000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
    
  4. एपीआई प्रॉक्सी में किए गए बदलावों को सेव करें.

एपीआई प्रॉक्सी की सेवा कॉलआउट नीति में कनेक्शन टाइम आउट कॉन्फ़िगर करना

इस सेक्शन में, आपके एपीआई प्रॉक्सी की ServiceCallout नीति में, कनेक्शन टाइम आउट को कॉन्फ़िगर करने का तरीका बताया गया है. कनेक्शन टाइम आउट को connect.timeout.millis प्रॉपर्टी का इस्तेमाल करके कॉन्फ़िगर किया जा सकता है. यह प्रॉपर्टी, कनेक्ट करने के समय की वैल्यू मिलीसेकंड में दिखाती है.

connect.timeout.millis प्रॉपर्टी का इस्तेमाल करके, ServiceCallout नीति में कनेक्शन का टाइम आउट कॉन्फ़िगर करने के लिए:

  1. Edge यूज़र इंटरफ़ेस (यूआई) में वह एपीआई प्रॉक्सी चुनें जिसमें आपको ServiceCallout नीति के लिए, कनेक्शन टाइम आउट की नई वैल्यू कॉन्फ़िगर करनी है.
  2. वह ServiceCallout नीति चुनें जिसमें आपको बदलाव करना है.
  3. TargetEndpoint कॉन्फ़िगरेशन में, <HTTPTargetConnection> एलिमेंट में सही वैल्यू वाली connect.timeout.millis प्रॉपर्टी जोड़ें.

    उदाहरण के लिए, कनेक्शन के टाइम आउट को बदलकर 5 सेकंड करने के लिए, कोड का यह ब्लॉक जोड़ें:

    <Properties>
      <Property name="connect.timeout.millis">5000</Property>
    </Properties>
    

    connect.timeout.millis प्रॉपर्टी की वैल्यू मिलीसेकंड में होती है. इसलिए, 5 सेकंड की वैल्यू 5000 होती है.

    नीचे दिए गए उदाहरण आपके एपीआई प्रॉक्सी की ServiceCallout नीति में, कनेक्शन टाइम आउट को कॉन्फ़िगर करने का तरीका बताते हैं:

    बैकएंड सर्वर के लिए यूआरएल का इस्तेमाल करके, सेवा कॉलआउट की नीति को कॉन्फ़िगर करने का उदाहरण

    <ServiceCallout name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <HTTPTargetConnection>
        <Properties>
          <Property name="connect.timeout.millis">5000</Property>
        </Properties>
        <URL>https://mocktarget.apigee.net/json</URL>
      </HTTPTargetConnection>
    </ServiceCallout>
    

    टारगेट सर्वर का इस्तेमाल करके, सेवा कॉलआउट की नीति के कॉन्फ़िगरेशन का उदाहरण

    <ServiceCallout enabled="true" name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <Response>calloutResponse</Response>
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="connect.timeout.millis">5000</Property>
        </Properties>
      <Path>/test</Path>
      </HTTPTargetConnection>
    </ServiceCallout>
    
  4. एपीआई प्रॉक्सी में किए गए बदलावों को सेव करें.

Message प्रोसेसर पर कनेक्शन टाइम आउट कॉन्फ़िगर करना

इस सेक्शन में, Message प्रोसेसर पर कनेक्शन टाइम आउट को कॉन्फ़िगर करने का तरीका बताया गया है. कनेक्शन टाइम आउट को conf_http_HTTPClient.connect.timeout.millis प्रॉपर्टी की मदद से कॉन्फ़िगर किया जा सकता है. इससे, मैसेज प्रोसेसर कॉम्पोनेंट पर कनेक्शन टाइम आउट की वैल्यू मिलीसेकंड में दिखती है. इसके लिए, Edge को कॉन्फ़िगर करने का तरीका में बताए गए सिंटैक्स के मुताबिक टोकन का इस्तेमाल किया जाता है.

Message प्रोसेसर पर कनेक्शन टाइम आउट कॉन्फ़िगर करने के लिए, ये काम करें:

  1. Message प्रोसेसर मशीन पर, इस फ़ाइल को किसी एडिटर में खोलें. अगर यह पहले से मौजूद नहीं है, तो इसे बनाएं.
    /opt/apigee/customer/application/message-processor.properties
    

    उदाहरण के लिए, vi का इस्तेमाल करके फ़ाइल खोलने के लिए, यह डालें:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. प्रॉपर्टी फ़ाइल में, इस फ़ॉर्मैट में एक लाइन जोड़ें. इससे TIME_IN_MILLISECONDS की वैल्यू मिलती है:
    conf_http_HTTPClient.connect.timeout.millis=TIME_IN_MILLISECONDS
    

    उदाहरण के लिए, मैसेज प्रोसेसर पर कनेक्शन टाइम आउट को 5 सेकंड में बदलने के लिए, यह लाइन जोड़ें:

    conf_http_HTTPClient.connect.timeout.millis=5000
    
  3. बदलावों को सेव करें.
  4. प्रॉपर्टी फ़ाइल का मालिकाना हक, apigee उपयोगकर्ता के पास हो, जैसा कि यहां दिखाया गया है:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. नीचे दिखाए गए तरीके के मुताबिक, मैसेज प्रोसेसर को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. अगर आपके पास एक से ज़्यादा मैसेज प्रोसेसर हैं, तो सभी मैसेज प्रोसेसर पर ऊपर दिया गया तरीका दोहराएं.

Message प्रोसेसर पर कनेक्शन टाइम आउट की पुष्टि करना

इस सेक्शन में मैसेज प्रोसेसर पर कनेक्शन के टाइम आउट में बदलाव होने की पुष्टि करने का तरीका बताया गया है.

भले ही, आपने Message प्रोसेसर पर कनेक्शन टाइम आउट सेट करने के लिए, conf_http_HTTPClient.connect.timeout.millis टोकन का इस्तेमाल किया हो, लेकिन आपको पुष्टि करनी होगी कि असल प्रॉपर्टी HTTPClient.connect.timeout.millis को नई वैल्यू के साथ सेट किया गया है या नहीं.

  1. Message प्रोसेसर मशीन पर, /opt/apigee/edge-message-processor/conf डायरेक्ट्री में HTTPTransport.connect.timeout.millis प्रॉपर्टी खोजें और देखें कि क्या उसे यहां दिखाई गई नई वैल्यू के साथ सेट किया गया है या नहीं:
    grep -ri "HTTPClient.connect.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. अगर नए कनेक्शन के टाइम आउट की वैल्यू को Message प्रोसेसर पर सेट किया जाता है, तो ऊपर दिया गया निर्देश, http.properties फ़ाइल में नई वैल्यू दिखाता है.

    कनेक्शन टाइम आउट को 5 सेकंड तक कॉन्फ़िगर करने के बाद, ऊपर दिए गए निर्देश का उदाहरण इस तरह है:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.connect.timeout.millis=5000
    

    ऊपर दिए गए आउटपुट आउटपुट में, ध्यान दें कि HTTPClient.connect.timeout.millis प्रॉपर्टी को http.properties में, नई वैल्यू 5000 के साथ सेट किया गया है. इससे पता चलता है कि मैसेज प्रोसेसर पर कनेक्शन टाइम आउट को 5 सेकंड तक कॉन्फ़िगर किया गया है.

  3. अगर आपको अब भी HTTPClient.connect.timeout.millis प्रॉपर्टी के लिए पुरानी वैल्यू दिखती है, तो पुष्टि करें कि आपने मैसेज प्रोसेसर पर कनेक्शन टाइम आउट कॉन्फ़िगर करना में बताए गए सभी निर्देशों का सही तरीके से पालन किया हो. अगर आपसे कोई चरण छूट गया है, तो सभी चरणों को फिर से सही तरीके से दोहराएं.
  4. अगर अब भी कनेक्शन के टाइम आउट में बदलाव नहीं हो पा रहा है, तो Google Cloud Apigee Edge की सहायता टीम से संपर्क करें.