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

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Bu belgede Apigee Edge Mesaj İşleyicileri için G/Ç zaman aşımının nasıl yapılandırılacağı açıklanmaktadır.

Mesaj İşleyici'deki G/Ç zaman aşımı, Mesaj İşleyici'nin zaman aşımına uğramadan önce arka uç sunucusundan yanıt almak veya yuvanın arka uç sunucusuna bir istek yazmaya hazır olmasını beklediği süreyi gösterir.

Mesaj İşleyici G/Ç zaman aşımı için varsayılan değer 55 seconds şeklindedir. Bu zaman aşımı süresi, hedef uç nokta yapılandırmasında ve API proxy'nizin ServiceCall politikasında yapılandırılan arka uç sunucuları için geçerlidir.

Mesaj İşleyiciler için G/Ç zaman aşımı, ihtiyaçlarınıza göre varsayılan 55 seconds değerinden artırılabilir veya azaltılabilir. Aşağıdaki yerlerde yapılandırılabilir:

  • API proxy'sinde
    • Hedef uç nokta
    • Hizmet Çağrısı politikası
  • Mesaj İşleyici Hakkında

Aşağıdaki özellikler İleti İşleyicilerinde G/Ç zaman aşımını denetler:

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

API proxy'si:

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

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

  • Bağlantı kurulduktan ve isteği arka uç sunucuya gönderdikten sonra arka uç sunucudan yanıt almayı bekler VEYA
  • Mesaj İşleyici'nin isteği arka uç sunucusuna göndermesi için yuvanın hazır olmasını bekler.

Bu zaman aşımı süresi içinde arka uç sunucusundan yanıt alınmazsa Mesaj İşleyici zaman aşımına uğrar.

Varsayılan olarak bu özellik, Mesaj İşleyici'de HTTPTransport.io.timeout.millis özelliği için ayarlanan değeri alır. Varsayılan değer: 55 seconds.

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 İşleyici'nin aşağıdakileri yapabileceği maksimum süredir:

  • Bağlantı kurulduktan ve isteği arka uç sunucuya gönderdikten sonra arka uç sunucudan yanıt almayı bekler VEYA
  • Mesaj İşleyici'nin isteği arka uç sunucusuna göndermesi için yuvanın hazır olmasını bekler.

Bu zaman aşımı süresi içinde arka uç sunucusundan yanıt alınmazsa Mesaj İşleyici zaman aşımına uğrar.

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 şeklindedir.

Bu özelliği Mesaj İşleyicilerinde G/Ç zaman aşımını yapılandırma bölümünde açıklandığı şekilde değiştirebilir veya API proxy düzeyinde io.timeout.millis özelliğini ayarlayarak bu değerin üzerine yazabilirsiniz.

Başlamadan önce

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

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

G/Ç zaman aşımı aşağıdaki API proxy'lerinde 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ı, G/Ç zaman aşımı değerini milisaniye cinsinden temsil eden io.timeout.millis özelliği aracılığıyla yapılandırılabilir.

  1. Edge kullanıcı arayüzünde, yeni G/Ç zaman aşımı değerini yapılandırmak istediğiniz API proxy'sini seçin.
  2. Değiştirmek istediğiniz belirli hedef uç noktasını seçin.
  3. TargetEndpoint yapılandırmasındaki <HTTPTargetConnection> öğesi altında uygun bir değerle io.timeout.millis özelliğini ekleyin.
  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 değeri 120000 şeklindedir.

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

    Arka uç sunucu için URL kullanan örnek hedef uç nokta yapılandırması

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

    Hedef sunucu kullanılan örnek hedef uç nokta yapılandırması

    <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 ServiceCallout politikasında G/Ç zaman aşımını yapılandırma

Bu bölümde, API proxy'nizin ServiceCall politikasında G/Ç zaman aşımının nasıl yapılandırılacağı açıklanmaktadır. G/Ç zaman aşımı <Timeout> öğesi veya io.timeout.millis özelliği aracılığıyla yapılandırılabilir. Hem <Timeout> öğesi hem de io.timeout.millis özelliği, G/Ç zaman aşımı değerlerini milisaniye cinsinden temsil eder.

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

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

Zaman aşımı öğesi

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

  1. Edge kullanıcı arayüzünde, ServiceCallout politikası için yeni G/Ç zaman aşımı değerini yapılandırmak istediğiniz belirli bir API proxy'sini seçin.
  2. Değiştirmek istediğiniz ServiceCall politikasını seçin.
  3. <ServiceCallout> yapılandırması altında uygun bir değerle <Timeout> öğesini ekleyin.

    Ö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 değeri 120000 şeklindedir.

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

    Arka uç sunucu için URL kullanan örnek ServiceCaption politika yapılandırması

    <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 mülkü

io.timeout.millis özelliğini kullanarak ServiceCall politikasında G/Ç zaman aşımını yapılandırmak için aşağıdakileri yapın:

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

    Ö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 değeri 120000 şeklindedir.

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

    Arka uç sunucu için URL kullanan örnek ServiceCaption politika yapılandırması

    <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 örnek ServiceCallout politika yapılandırması

    <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 İşleyicilerinde G/Ç zaman aşımını yapılandırma

Bu bölümde, İleti İşleyicilerinde G/Ç zaman aşımının nasıl yapılandırılacağı açıklanmaktadır. G/Ç zaman aşımı, Edge'yi yapılandırma bölümünde açıklanan söz dizimine uygun şekilde jeton kullanılarak, Mesaj İşleyici bileşeninde G/Ç zaman aşımı değerini milisaniye cinsinden temsil eden HTTPTransport.io.timeout.millis özelliği aracılığıyla yapılandırılabilir.

İleti İşleyicilerinde G/Ç zaman aşımını yapılandırmak için aşağıdakileri yapın:

  1. Message Processor makinesinde, aşağıdaki dosyayı bir düzenleyicide açın. Henüz yoksa oluşturun.
    /opt/apigee/customer/application/message-processor.properties
    

    Örneğin, dosyayı vi kullanarak açmak için 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 değeriyle değiştirin:
    conf_http_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS
    

    Örneğin, Mesaj İşleyici'deki 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 Mesaj İşleyiciniz varsa tüm Mesaj İşleyiciler için yukarıdaki adımları tekrarlayın.

İleti İşleyicilerinde G/Ç zaman aşımını doğrulama

Bu bölümde, Mesaj İşleyicilerinde G/Ç zaman aşımının başarıyla değiştirildiğini nasıl doğrulayacağınız açıklanmaktadır.

Mesaj İşleyicide G/Ç zaman aşımını ayarlamak için conf_http_HTTPTransport.io.timeout.millis jetonunu kullansanız da HTTPTransport.io.timeout.millis gerçek özelliğinin yeni değerle ayarlanıp ayarlanmadığını doğrulamanız gerekir.

  1. Mesaj İşleyici makinesinde, /opt/apigee/edge-message-processor/conf dizininde HTTPTransport.io.timeout.millis özelliğini arayın ve aşağıda gösterildiği gibi yeni değerle ayarlanıp ayarlanmadığını kontrol edin:
    grep -ri "HTTPTransport.io.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Yeni G/Ç zaman aşımı değeri Mesaj İşleyicide başarıyla ayarlandıysa yukarıdaki komut, http.properties dosyasındaki yeni değeri gösterir.
  3. G/Ç zaman aşımını 120 saniye olarak yapılandırdıktan sonra yukarıdaki komuttan alınan örnek sonuç şu şekildedir:

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

    Yukarıdaki örnek çıkışta, HTTPTransport.io.timeout.millis özelliğinin http.properties içindeki yeni 120000 değeriyle ayarlandığına dikkat edin. Bu, G/Ç zaman aşımının Mesaj İşleyicide 120 saniye olacak şekilde başarıyla yapılandırıldığını belirtir.

  4. HTTPTransport.io.timeout.millis mülkünün eski değerini görmeye devam ediyorsanız İleti İşleyicilerinde G/Ç zaman aşımını yapılandırma sayfasında açıklanan tüm adımları doğru şekilde uyguladığınızdan emin olun. Herhangi bir adımı atladıysanız tüm adımları doğru bir şekilde tekrar edin.
  5. G/Ç zaman aşımını hâlâ değiştiremiyorsanız lütfen Apigee Edge Desteği ile iletişime geçin.

Sırada ne var?

Yönlendiricilerde G/Ç zaman aşımını yapılandırma hakkında bilgi edinin