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

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

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

Message Processor पर कीप अलाइव टाइमआउट की सुविधा उपलब्ध होती है. इसकी मदद से, एक टीसीपी कनेक्शन का इस्तेमाल करके, बैकएंड सर्वर से कई एचटीटीपी अनुरोध भेजे और जवाब पाए जा सकते हैं. इसके लिए, हर अनुरोध/जवाब के लिए नया कनेक्शन खोलने की ज़रूरत नहीं होती.

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

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

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

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

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

यह ज़्यादा से ज़्यादा वह समय है जब मैसेज प्रोसेसर, एक टीसीपी कनेक्शन को कई एचटीटीपी अनुरोध/जवाब भेजने और पाने की अनुमति देता है. ऐसा हर अनुरोध/जवाब के लिए नया कनेक्शन खोलने के बजाय किया जाता है.

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

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

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

यह वह ज़्यादा से ज़्यादा समय है जब मैसेज प्रोसेसर, एक टीसीपी कनेक्शन को कई एचटीटीपी अनुरोध/जवाब भेजने और पाने की अनुमति देता है. ऐसा हर अनुरोध/जवाब के लिए नया कनेक्शन खोलने के बजाय किया जाता है.

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

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

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

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

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

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

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

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

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

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

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

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

    <Properties>
      <Property name="keepalive.timeout.millis">30000</Property>
    </Properties>

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

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

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

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

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

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

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

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

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

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

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

    <Properties>
      <Property name="keepalive.timeout.millis">30000</Property>
    </Properties>

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

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

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

    <ServiceCallout name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <HTTPTargetConnection>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</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="keepalive.timeout.millis">30000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </ServiceCallout>
  4. अपनी एपीआई प्रॉक्सी में किए गए बदलाव सेव करें.

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

इस सेक्शन में, मैसेज प्रोसेसर पर कीप अलाइव टाइमआउट को कॉन्फ़िगर करने का तरीका बताया गया है. कीप अलाइव टाइमआउट को प्रॉपर्टी HTTPClient.keepalive.timeout.millis के ज़रिए कॉन्फ़िगर किया जा सकता है. यह प्रॉपर्टी, Message Processor कॉम्पोनेंट पर कीप अलाइव टाइमआउट की वैल्यू को मिलीसेकंड में दिखाती है. इस प्रॉपर्टी पर Message Processor में टिप्पणी की गई है. इसलिए, आपको खास सिंटैक्स conf/http.properties+HTTPClient.keepalive.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.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS

    उदाहरण के लिए, Message Processor पर कीप अलाइव टाइमआउट को 30 सेकंड पर बदलने के लिए, यह लाइन जोड़ें:

    conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
  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 processor पर कीप अलाइव टाइमआउट सेट करने के लिए, खास सिंटैक्स conf/http.properties+HTTPClient.keepalive.timeout.millis का इस्तेमाल किया जाता है. हालांकि, आपको यह पुष्टि करनी होगी कि नई वैल्यू के साथ असल प्रॉपर्टी HTTPClient.keepalive.timeout.millis सेट की गई है.

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

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

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

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

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