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

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

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

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

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

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

मैसेज प्रोसेसर पर कनेक्शन टाइम आउट को कंट्रोल करने वाली प्रॉपर्टी ये हैं:

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

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

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

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

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

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

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

इस प्रॉपर्टी की डिफ़ॉल्ट वैल्यू 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 नीति में कनेक्शन टाइम आउट कॉन्फ़िगर करना

इस सेक्शन में, अपनी एपीआई प्रॉक्सी की 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 नीति के कॉन्फ़िगरेशन का उदाहरण

    <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 नीति के कॉन्फ़िगरेशन का उदाहरण

    <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. अपनी एपीआई प्रॉक्सी में किए गए बदलाव सेव करें.

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

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

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

  1. मैसेज प्रोसेसर मशीन पर, किसी एडिटर में यह फ़ाइल खोलें. अगर यह फ़ाइल पहले से मौजूद नहीं है, तो इसे बनाएं.
    /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. अगर आपके पास एक से ज़्यादा मैसेज प्रोसेसर हैं, तो सभी मैसेज प्रोसेसर पर ऊपर दिया गया तरीका दोहराएं.

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

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

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

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

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

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

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

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