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

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

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

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

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

संदेश प्रोसेसर के लिए I/O टाइमआउट को 55 seconds आपकी ज़रूरतों के आधार पर. इसे इन जगहों पर कॉन्फ़िगर किया जा सकता है:

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

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

प्रॉपर्टी का नाम जगह ब्यौरा
io.timeout.millis

एपीआई प्रॉक्सी:

  • टारगेट एंडपॉइंट
  • सेवा कॉलआउट नीति

यह वह ज़्यादा से ज़्यादा समय होता है जिसमें मैसेज प्रोसेसर ये काम करता है:

  • बैकएंड सर्वर से जवाब मिलने की इंतज़ार करता है, कनेक्शन बनाना और बैकएंड सर्वर को अनुरोध भेजना
  • संदेश प्रोसेसर के लिए अनुरोध भेजे जाने के लिए सॉकेट के तैयार होने की इंतज़ार करता है भी डाउनलोड कर सकता है.

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

डिफ़ॉल्ट रूप से, यह प्रॉपर्टी मैसेज प्रोसेसर पर HTTPTransport.io.timeout.millis प्रॉपर्टी. डिफ़ॉल्ट वैल्यू 55 seconds है.

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

HTTPTransport.io.timeout.millis मैसेज प्रोसेसर

यह वह ज़्यादा से ज़्यादा समय होता है जिसमें मैसेज प्रोसेसर ये काम करता है:

  • कनेक्ट करने के बाद, बैकएंड सर्वर से जवाब मिलने का इंतज़ार करता है और बैकएंड सर्वर को अनुरोध भेजा जा रहा है या
  • संदेश प्रोसेसर के लिए अनुरोध भेजे जाने के लिए सॉकेट के तैयार होने की इंतज़ार करता है भी डाउनलोड कर सकता है.

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

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

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

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

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

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

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

I/O टाइम आउट को, एपीआई प्रॉक्सी की इन जगहों पर कॉन्फ़िगर किया जा सकता है:

  • टारगेट एंडपॉइंट
  • सेवा कॉलआउट नीति

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

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

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

        <Properties>
          <Property name="io.timeout.millis">120000</Property>
        </Properties>
    

    io.timeout.millis प्रॉपर्टी मिलीसेकंड में है, इसलिए 120 सेकंड 120000 है.

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

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

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

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

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

एपीआई प्रॉक्सी की Serviceकॉलआउट नीति में, I/O टाइम आउट को कॉन्फ़िगर करना

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

नीचे दिए गए किसी एक तरीके का इस्तेमाल करके, सर्विसकॉलआउट नीति में I/O टाइम आउट को कॉन्फ़िगर किया जा सकता है:

  • <Timeout> एलिमेंट.
  • io.timeout.millis प्रॉपर्टी.

टाइम आउट एलिमेंट

<Timeout> का इस्तेमाल करके, सर्विसकॉलआउट नीति में I/O टाइम आउट को कॉन्फ़िगर करने के लिए एलिमेंट पर, ये काम करें:

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

    उदाहरण के लिए, I/O टाइम आउट को 120 सेकंड में बदलने के लिए, कोड की यह लाइन जोड़ें:

        <Timeout>120000</Timeout>
    

    चूंकि <Timeout> एलिमेंट मिलीसेकंड में है, इसलिए 120 सेकंड 120000 है.

    नीचे दिए गए उदाहरण में, Serviceकॉलआउट में I/O टाइम आउट को कॉन्फ़िगर करने का तरीका बताया गया है नीति का पालन करने के लिए, <Timeout> एलिमेंट का इस्तेमाल करें:

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

    <ServiceCallout name="Service-Callout-1">
        <DisplayName>ServiceCallout-1</DisplayName>
        <Timeout>120000</Timeout>
        <HTTPTargetConnection>
            <Properties/>
            <URL>https://mocktarget.apigee.net/json</URL>
        </HTTPTargetConnection>
    </ServiceCallout>
    
  4. अपने एपीआई प्रॉक्सी में किए गए बदलावों को सेव करें.

io.timeout.milis प्रॉपर्टी

सेवाकॉलआउट नीति में I/O टाइम आउट को कॉन्फ़िगर करने के लिए, io.timeout.millis प्रॉपर्टी का इस्तेमाल करने के लिए, ये काम करें:

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

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

        <Properties>
          <Property name="io.timeout.millis">120000</Property>
        </Properties>
    

    io.timeout.millis प्रॉपर्टी मिलीसेकंड में है, इसलिए 120 सेकंड 120000 है.

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

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

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

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

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

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

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

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

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

    उदाहरण के लिए, vi, यह निर्देश डालें:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. प्रॉपर्टी फ़ाइल में, नीचे दिए गए फ़ॉर्मैट में एक लाइन जोड़ें. TIME_IN_MILLISECONDS:
    conf_http_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS
    

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

    conf_http_HTTPTransport.io.timeout.millis=120000
    
  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. अगर आपके पास एक से ज़्यादा मैसेज प्रोसेसर हैं, तो ऊपर दिए गए चरणों को सभी मैसेज पर दोहराएं प्रोसेसर.

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

इस सेक्शन में बताया गया है कि मैसेज प्रोसेसर.

भले ही, आप conf_http_HTTPTransport.io.timeout.millis टोकन का इस्तेमाल करके, मैसेज प्रोसेसर पर I/O टाइम आउट हो गया, आपको यह पुष्टि करनी होगी कि असली प्रॉपर्टी HTTPTransport.io.timeout.millis को नई वैल्यू से सेट कर दिया गया है.

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

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPTransport.io.timeout.millis=120000
    

    ऊपर दिए गए उदाहरण में, ध्यान दें कि प्रॉपर्टी HTTPTransport.io.timeout.millis को 120000 नई वैल्यू के साथ सेट कर दिया गया है http.properties. इससे पता चलता है कि I/O टाइम आउट को कॉन्फ़िगर कर दिया गया है मैसेज प्रोसेसर पर 120 सेकंड तक.

  4. अगर आपको अब भी प्रॉपर्टी HTTPTransport.io.timeout.millis की पुरानी वैल्यू दिख रही है, तो इसके बाद, पुष्टि करें कि आपने यहां बताए गए सभी चरणों का पालन किया है मैसेज प्रोसेसर पर, I/O टाइम आउट को सही तरीके से कॉन्फ़िगर करना. अगर आपके पास कोई भी चरण छूट गया हो, तो सभी चरणों को फिर से सही तरीके से दोहराएं.
  5. अगर अब भी I/O टाइम आउट में बदलाव नहीं हो पा रहा है, तो कृपया संपर्क करें Apigee Edge की सहायता टीम.

आगे क्या होगा?

इसके बारे में जानें राऊटर पर I/O टाइम आउट कॉन्फ़िगर करना