İ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 Message Processors için G/Ç zaman aşımının nasıl yapılandırılacağı açıklanmaktadır.

Mesaj İşleyicisindeki G/Ç zaman aşımı, Mesaj İşleyicisinin zaman aşımına uğramadan önce arka uç sunucusundan yanıt almayı veya yuvayı arka uç sunucusuna istek yazmaya hazır olmasını beklediği süreyi ifade eder.

Mesaj İşleyici G/Ç zaman aşımı varsayılan değeri 55 seconds'dır. Bu zaman aşımı süresi, hedef uç nokta yapılandırmasında ve API proxy'nizin ServiceCallout 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 bağlı olarak 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
    • ServiceCallout politikası
  • Mesaj İşleyici'de

Aşağıdaki özellikler, mesaj işlemcilerindeki 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, Mesaj İşleyici'nin aşağıdakileri yaptığı maksimum süredir:

  • Bağlantı kurulduktan ve arka uç sunucusuna istek gönderildikten sonra arka uç sunucusundan yanıt alınmasını bekler VEYA
  • İsteğin arka uç sunucusuna gönderilmesi için Mesaj İşleyici'nin yuvanın hazır olmasını bekler.

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

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

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

HTTPTransport.io.timeout.millis Mesaj İşleyici

Bu, Mesaj İşleyici'nin aşağıdakileri yaptığı maksimum süredir:

  • Bağlantı kurulduktan ve arka uç sunucusuna istek gönderildikten sonra arka uç sunucusundan yanıt alınmasını bekler VEYA
  • Soketin, Mesaj İşleyici'nin arka uç sunucuya isteği göndermeye hazır olmasını bekler.

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

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

Bu özelliğin varsayılan değeri 55 seconds'dır.

Bu özelliği Configuring I/O timeout on Message Processors (Mesaj işlemcilerinde 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ğeri ü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'si yerlerinde yapılandırılabilir:

  • Hedef uç nokta
  • ServiceCallout 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ı, milisaniye cinsinden G/Ç zaman aşımı değerini 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 hedef uç noktayı seçin.
  3. TargetEndpoint yapılandırmasındaki <HTTPTargetConnection> öğesinin altına uygun bir değerle io.timeout.millis özelliğini ekleyin.
  4. Örneğin, G/Ç zaman aşımını 120 saniyeye 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 saniyelik değer 120000 olur.

    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ç sunucusu için URL'nin kullanıldığı ö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 sunucuyu kullanarak 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 ServiceCallout politikasında G/Ç zaman aşımını yapılandırma

Bu bölümde, API proxy'nizin ServiceCallout 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, milisaniye cinsinden G/Ç zaman aşımı değerlerini temsil eder.

Aşağıdaki yöntemlerden birini kullanarak ServiceCallout politikasında G/Ç zaman aşımını 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 API proxy'sini seçin.
  2. Değiştirmek istediğiniz belirli ServiceCallout politikasını seçin.
  3. <ServiceCallout> yapılandırması altına uygun bir değerle <Timeout> öğesini ekleyin.

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

        <Timeout>120000</Timeout>

    <Timeout> öğesi milisaniye cinsinden olduğundan 120 saniyelik değer 120000 olur.

    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ç sunucusu için URL kullanan örnek ServiceCallout politikası 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 özelliği

ServiceCallout politikasında G/Ç zaman aşımını io.timeout.millis özelliğini kullanarak 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 API proxy'sini seçin.
  2. Değiştirmek istediğiniz belirli ServiceCallout politikasını seçin.
  3. Hedef uç nokta yapılandırmasındaki <HTTPTargetConnection> öğesinin altına uygun bir değerle io.timeout.millis özelliğini ekleyin.

    Örneğin, G/Ç zaman aşımını 120 saniyeye 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 saniyelik değer 120000 olur.

    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ç sunucusu için URL kullanan örnek ServiceCallout politikası 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 sunucuyu kullanan örnek ServiceCallout politikası 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.

Mesaj işlemcilerinde G/Ç zaman aşımını yapılandırma

Bu bölümde, ileti iş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 özellik, Edge'i yapılandırma bölümünde açıklanan söz dizimine göre jeton kullanılarak Mesaj İşleyici bileşenindeki G/Ç zaman aşımı değerini milisaniye cinsinden ifade eder. Edge'i yapılandırma.

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

  1. Mesaj İşleyici makinesinde aşağıdaki dosyayı bir düzenleyicide açın. Bu klasör 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 yerine bir değer girin:
    conf_http_HTTPTransport.io.timeout.millis=TIME_IN_MILLISECONDS

    Örneğin, Mesaj İşleyici'deki G/Ç zaman aşımını 120 saniyeye 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 yukarıdaki adımları tüm Mesaj İşleyicilerde tekrarlayın.

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

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

İleti işlemcisinde G/Ç zaman aşımını ayarlamak için conf_http_HTTPTransport.io.timeout.millis jetonunu kullansanız bile gerçek özelliğin HTTPTransport.io.timeout.millis 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ğıdaki 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 İşleyici'de başarıyla ayarlanırsa yukarıdaki komut, http.properties dosyasında yeni değeri gösterir.
  3. G/Ç zaman aşımını 120 saniye olarak yapılandırdıktan sonra yukarıdaki komutun örnek sonucu aşağıdaki gibidir:

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

    Yukarıdaki örnek çıktıda, HTTPTransport.io.timeout.millis özelliğinin http.properties içinde yeni değer 120000 ile ayarlandığını unutmayın. Bu, G/Ç zaman aşımının, Mesaj İşleyici'de 120 saniye olarak başarıyla yapılandırıldığını gösterir.

  4. Mülk için hâlâ eski değeri görüyorsanız HTTPTransport.io.timeout.millis, Mesaj işlemcilerinde G/Ç zaman aşımını yapılandırma başlıklı makalede açıklanan tüm adımları doğru şekilde uyguladığınızı doğrulayın. Herhangi bir adımı atladıysanız tüm adımları tekrar doğru şekilde uygulayın.
  5. G/Ç zaman aşımını hâlâ değiştiremiyorsanız lütfen Apigee Edge Destek Ekibi ile iletişime geçin.

Sırada ne var?

Aşağıdaki konular hakkında bilgi edinin: Yönlendiricilerde G/Ç zaman aşımını yapılandırma