İleti İşleyicilerde G/Ç zaman aşımını yapılandırma

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Bu dokümanda, Apigee Edge Mesaj İşlemcileri için G/Ç zaman aşımının nasıl yapılandırılacağı açıklanmaktadır.

İleti İşleyicideki G/Ç zaman aşımı , İleti İşleyen arka uç sunucusundan bir yanıt almayı veya yuvanın yazmaya hazır olmasını bekler isteği zaman aşımına uğramadan önce arka uç sunucusuna gönderir.

İleti İşlemci G/Ç zaman aşımı varsayılan değeri 55 seconds. Bu zaman aşımı süre geçerli hedef uç nokta yapılandırmasında ve ServiceCall'da yapılandırılmış arka uç sunucularına politikası.

Mesaj İşlemcileri için G/Ç zaman aşımı, varsayılan değer olan 55 seconds uygun şekilde belirleyin. Aşağıdaki konumlarda yapılandırılabilir:

  • API proxy'sinde
    • Hedef uç nokta
    • Hizmet Çağrısı politikası
  • İleti İşleyen hakkında

Aşağıdaki özellikler İleti İşlemcilerinde G/Ç zaman aşımını kontrol eder:

Mülk Adı Konum Açıklama
io.timeout.millis

API proxy'si:

  • Hedef uç nokta
  • Hizmet Açıklama Metni Politikası

Bu, İleti İşleyen'in aşağıdakileri yapabileceği maksimum süredir:

  • arka uç sunucusundan yanıt almayı bekler. bağlantı kurup isteği arka uç sunucusuna gönderebilirsiniz VEYA
  • Mesaj İşleyen'in isteği göndermesi için yuvanın hazır olmasını bekler arka uç sunucusuna gidin.

Bu zaman aşımı süresi içinde arka uç sunucusundan yanıt alamazsanız Mesaj İşleyici zaman aşımına uğradı.

Varsayılan olarak bu özellik, HTTPTransport.io.timeout.millis özelliğini kullanabilirsiniz. Varsayılan değer 55 seconds değeridir.

Bu özellik belirli bir API proxy'si için yeni bir zaman aşımı değeriyle değiştirilirse yalnızca bu API proxy'si etkilenir.

HTTPTransport.io.timeout.millis Mesaj İşleyici

Bu, İleti İşleyen'in aşağıdakileri yapabileceği maksimum süredir:

  • Bağlantı kurulduktan sonra arka uç sunucusundan yanıt almayı bekler ve isteği arka uç sunucusuna gönderebilirsiniz VEYA
  • Mesaj İşleyen'in isteği göndermesi için yuvanın hazır olmasını bekler arka uç sunucusuna gidin.

Bu zaman aşımı süresi içinde arka uç sunucusundan yanıt alamazsanız Mesaj İşleyici zaman aşımına uğradı.

Bu özellik, bu Mesaj İşleyicide çalışan tüm API Proxy'leri için kullanılır.

Bu özelliğin varsayılan değeri: 55 seconds.

Bu özelliği şurada açıklandığı şekilde değiştirebilirsiniz: İleti İşlemcilerinde G/Ç zaman aşımını yapılandırma veya API'de io.timeout.millis özelliğini ayarlayarak bu değerin üzerine yaz proxy seviyesi.

Başlamadan önce

Bu dokümandaki adımları kullanmadan önce aşağıdaki konuları anladığınızdan emin olun:

ziyaret edin.

API proxy'sinde G/Ç zaman aşımını yapılandırma

G/Ç zaman aşımı, aşağıdaki API proxy yerlerinden yapılandırılabilir:

  • Hedef uç nokta
  • Hizmet Çağrısı politikası

API proxy'sinin hedef uç noktasında G/Ç zaman aşımını yapılandırma

Bu bölümde, API proxy'nizin hedef uç noktasında G/Ç zaman aşımının nasıl yapılandırılacağı açıklanmaktadır. G/Ç zaman aşımı, io.timeout.millis mülkü aracılığıyla yapılandırılabilir. milisaniye cinsinden G/Ç zaman aşımı değerini temsil eder.

ziyaret edin.
  1. Edge kullanıcı arayüzünde yeni API proxy'sini yapılandırmak istediğiniz API'nin G/Ç zaman aşımı değeri.
  2. Değiştirmek istediğiniz belirli hedef uç noktasını seçin.
  3. io.timeout.millis özelliğini, TargetEndpoint yapılandırmasında <HTTPTargetConnection> öğesi.
  4. Örneğin, G/Ç Zaman Aşımı'nı 120 saniye olarak değiştirmek için aşağıdaki kod bloğunu ekleyin:

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

    io.timeout.millis özelliği milisaniye cinsinden olduğundan, 120 saniye, 120000 anlamına gelir.

    Aşağıdaki örneklerde, hedef uç noktada G/Ç zaman aşımının nasıl yapılandırılacağı gösterilmektedir API proxy'nizin yapılandırması:

    Arka uç sunucusunun URL'sini kullanan hedef uç nokta yapılandırması örneği

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

    Hedef sunucu kullanan hedef uç nokta yapılandırması örneği

    <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. API proxy'nizde yapılan değişiklikleri kaydedin.

API proxy'sinin ServiceÇağrı politikasında G/Ç zaman aşımını yapılandırma

Bu bölümde, web sitenizin ServiceÇağrı politikasında G/Ç zaman aşımını nasıl yapılandıracağınız açıklanmaktadır. API proxy'si. G/Ç zaman aşımı, <Timeout> öğesi ile yapılandırılabilir veya io.timeout.millis özelliğini belirtir. Hem <Timeout> öğesi hem de io.timeout.millis özelliği, milisaniye cinsinden G/Ç zaman aşımı değerlerini temsil eder.

ziyaret edin.

Hizmet Çağrısı politikasında G/Ç zaman aşımını aşağıdaki yöntemlerden birini kullanarak yapılandırabilirsiniz:

  • <Timeout> öğesi.
  • io.timeout.millis mülk.

Zaman aşımı öğesi

Hizmet Çağrısı politikasında G/Ç zaman aşımını <Timeout> kullanarak yapılandırmak için öğesini seçerseniz aşağıdakileri yapın:

  1. Edge kullanıcı arayüzünde, ServiceÇağrı politikası için yeni G/Ç zaman aşımı değeri.
  2. Değiştirmek istediğiniz Hizmet Çağrısı politikasını seçin.
  3. Öğenin altına uygun bir değerle <Timeout> öğesini ekleyin <ServiceCallout> yapılandırması.

    Örneğin, G/Ç zaman aşımını 120 saniye olarak değiştirmek için aşağıdaki kod satırını ekleyin:

        <Timeout>120000</Timeout>
    

    <Timeout> öğesi milisaniye cinsinden olduğundan, 120 saniye, 120000 anlamına gelir.

    Aşağıdaki örnekte, Service ederken G/Ç zaman aşımının nasıl yapılandırılacağı gösterilmektedir politikası:<Timeout>

    Arka uç sunucusu için URL kullanan Hizmet Açıklama metni politikası yapılandırması örneği

    <ServiceCallout name="Service-Callout-1">
        <DisplayName>ServiceCallout-1</DisplayName>
        <Timeout>120000</Timeout>
        <HTTPTargetConnection>
            <Properties/>
            <URL>https://mocktarget.apigee.net/json</URL>
        </HTTPTargetConnection>
    </ServiceCallout>
    
  4. API proxy'nizde yapılan değişiklikleri kaydedin.

io.timeout.millis özelliği

G/Ç zaman aşımını, io.timeout.millis mülkü için aşağıdakileri yapın:

  1. Edge kullanıcı arayüzünde yapılandırmak istediğiniz API proxy'sini seçin ServiceÇağrı politikası için yeni G/Ç zaman aşımı değerini ayarla.
  2. Değiştirmek istediğiniz Hizmet Çağrısı politikasını seçin.
  3. io.timeout.millis özelliğini, TargetEndpoint yapılandırmasında <HTTPTargetConnection> öğesi.

    Örneğin, G/Ç zaman aşımını 120 saniye olarak değiştirmek için aşağıdaki bloku ekleyin kodu:

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

    io.timeout.millis özelliği milisaniye cinsinden olduğundan, 120 saniye, 120000 anlamına gelir.

    Aşağıdaki örneklerde, hedef uç noktada G/Ç zaman aşımının nasıl yapılandırılacağı gösterilmektedir API proxy'nizin yapılandırması:

    Arka uç sunucusu için URL kullanan Hizmet Açıklama metni politikası yapılandırması örneği

    <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>
    

    Hedef sunucu kullanan Hizmet Çağrısı politikası yapılandırması örneği

    <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. API proxy'nizde yapılan değişiklikleri kaydedin.

İleti İşlemcilerinde G/Ç zaman aşımını yapılandırma

Bu bölümde, İleti İşlemcilerinde G/Ç zaman aşımının nasıl yapılandırılacağı açıklanmaktadır. G/Ç zaman aşımı, HTTPTransport.io.timeout.millis özelliği aracılığıyla yapılandırılabilir Bu, Mesaj İşleyici bileşeninde G/Ç zaman aşımı değerini milisaniye cinsinden temsil eder. aşağıdaki söz dizimine uygun şekilde jetonu kullanın: Nasıl yapılandırılır? Uç.

ziyaret edin.

İleti İşlemcilerinde G/Ç zaman aşımını yapılandırmak için şunları yapın:

  1. İleti İşleyici makinesinde, aşağıdaki dosyayı bir düzenleyicide açın. Eşleşmezse bir liste oluşturabilirsiniz.
    /opt/apigee/customer/application/message-processor.properties
    

    Örneğin, dosyayı vi, aşağıdaki komutu girin:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Özellikler dosyasına aşağıdaki biçimde bir satır ekleyin ve TIME_IN_MILLISECONDS:
    conf_http_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS
    

    Örneğin, Mesaj İşleyici'de G/Ç zaman aşımını 120 saniye olarak değiştirmek için, aşağıdaki satırı ekleyin:

    conf_http_HTTPTransport.io.timeout.millis=120000
    
  3. Değişikliklerinizi kaydedin.
  4. Özellikler dosyasının, aşağıda gösterildiği gibi apigee kullanıcısına ait olduğundan emin olun:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Mesaj İşleyici'yi aşağıda gösterildiği gibi yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Birden fazla İleti İşleyiciniz varsa İletilerin tamamını oluşturmak için yukarıdaki adımları İşlemciler.

Mesaj İşlemcilerinde G/Ç zaman aşımını doğrulama

Bu bölümde, G/Ç zaman aşımının Mesaj İşleyiciler.

Bir öğeyi ayarlamak için conf_http_HTTPTransport.io.timeout.millis jetonunu kullansanız bile İleti İşleyicide G/Ç zaman aşımı nedeniyle, gerçek mülkün HTTPTransport.io.timeout.millis yeni değerle ayarlandı.

  1. İleti İşleyici makinesinde HTTPTransport.io.timeout.millis özelliğini arayın. /opt/apigee/edge-message-processor/conf dizinine indirin ve bu hatanın aşağıdaki gibi yeni değerle ayarlandı:
    grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Yeni G/Ç zaman aşımı değeri İleti İşleyici'de başarıyla ayarlanmışsa yukarıdaki komutu http.properties dosyasındaki yeni değeri gösterir.
  3. G/Ç zaman aşımını 120 saniye aşağıdaki gibidir:

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

    Yukarıdaki örnek çıkışta, HTTPTransport.io.timeout.millis, şurada yeni değerle ayarlandı: 120000 http.properties. Bu, G/Ç zaman aşımının başarıyla yapılandırıldığını gösterir 120 saniyeye kadar olan süreyi kısaltabilir.

  4. Hâlâ HTTPTransport.io.timeout.millis özelliğinin eski değerini görüyorsanız ardından burada verilen tüm adımları izlediğinizi doğrulayın: İleti İşlemcilerinde G/Ç zaman aşımını doğru yapılandırma. Mevcut herhangi bir adımı kaçırdıysanız tüm adımları doğru şekilde tekrarlayın.
  5. G/Ç zaman aşımını yine de değiştiremiyorsanız lütfen Apigee Edge Desteği.

Sırada ne var?

Daha fazla bilgi Yönlendiricilerde G/Ç zaman aşımını yapılandırma