Mesaj İşleyenler'de canlı tutma 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 etkin tutma zaman aşımının nasıl yapılandırılacağı açıklanmaktadır.

Mesaj işleyicideki etkin tutma zaman aşımı, her istek/yanıt çifti için yeni bir bağlantı açmak yerine tek bir TCP bağlantısının arka uç sunucusuna birden fazla HTTP isteği/yanıtı göndermesine ve bu sunucudan almasına olanak tanır.

Mesaj İşleyici'deki keep alive zaman aşımı özelliğinin varsayılan değeri 60 saniyedir. 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 etkin tutma zaman aşımı, ihtiyaçlarınıza bağlı olarak varsayılan 60 saniye değerinden artırılabilir veya azaltılabilir. Aşağıdaki şekillerde yapılandırılabilir:

  • API proxy'sinde
    • Hedef uç noktada
    • ServiceCallout politikası kapsamında
  • Mesaj İşleyici'de

Aşağıdaki özellikler, mesaj işlemcilerdeki etkin tutma zaman aşımını kontrol eder:

Mülk adı Konum Açıklama
keepalive.timeout.millis API proxy'si:
  • Hedef uç nokta
  • ServiceCallout ile ilgili politika

Bu, Mesaj İşlemcisinin her istek/yanıt çifti için yeni bir bağlantı açmak yerine tek bir TCP bağlantısının birden fazla HTTP isteği/yanıtı göndermesine ve almasına izin verdiği maksimum boşta kalma süresidir.

Varsayılan olarak bu özellik, Mesaj İşleyici'de HTTPClient.keepalive.timeout.millis özelliği için ayarlanan değeri alır. Burada varsayılan değer 60 saniyedir.

Bu özellik, hedef uç noktada veya belirli API proxy'sindeki ServiceCallout politikasında kullanılan hedef sunucu için yeni bir zaman aşımı değeriyle değiştirilirse canlı tutma süresi yalnızca söz konusu hedef sunucu için etkilenir.

HTTPClient.keepalive.timeout.millis Mesaj İşleyici

Bu, Mesaj İşleyici'nin her istek/yanıt çifti için yeni bir bağlantı açmak yerine tek bir TCP bağlantısının birden fazla HTTP isteği/yanıtı göndermesine ve almasına izin verdiği maksimum boşta kalma süresidir.

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 60 saniyedir.

Bu özelliği aşağıdaki Mesaj İşlemcilerde etkin tutma zaman aşımını yapılandırma bölümünde açıklandığı şekilde değiştirebilir veya keepalive.timeout.millis özelliğini API proxy düzeyinde 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 etkin tutma zaman aşımını yapılandırma

Etkin tutma zaman aşımı, API proxy'sinde aşağıdaki yerlerde yapılandırılabilir:

  • Hedef uç nokta
  • ServiceCallout ile ilgili politika

API proxy'sinin hedef uç noktasında etkin tutma zaman aşımını yapılandırma

Bu bölümde, API proxy'nizin hedef uç noktasında etkin tutma zaman aşımının nasıl yapılandırılacağı açıklanmaktadır. Etkin tutma zaman aşımı, milisaniye cinsinden etkin tutma zaman aşımı değerini temsil eden keepalive.timeout.millis özelliği aracılığıyla yapılandırılabilir.

  1. Edge kullanıcı arayüzünde, yeni etkin kalma 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 keepalive.timeout.millis özelliğini ekleyin.

    Örneğin, etkin tutma zaman aşımını 30 saniyeye değiştirmek için aşağıdaki kod bloğunu ekleyin:

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

    keepalive.timeout.millis özelliği milisaniye cinsinden olduğundan 30 saniyenin değeri 30000 olur.

    Aşağıdaki örneklerde, API proxy'nizin hedef uç nokta yapılandırmasında etkin tutma 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="keepalive.timeout.millis">30000</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="keepalive.timeout.millis">30000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
  4. API proxy'nizde yapılan değişiklikleri kaydedin.

API proxy'sinin ServiceCallout politikasında etkin tutma zaman aşımını yapılandırma

Bu bölümde, API proxy'nizin ServiceCallout politikasında etkin kalma zaman aşımının nasıl yapılandırılacağı açıklanmaktadır. Etkin tutma zaman aşımı, milisaniye cinsinden etkin tutma zaman aşımı değerini temsil eden the keepalive.timeout.millis özelliği aracılığıyla yapılandırılabilir.

ServiceCallout politikasında keepalive.timeout.millis özelliğini kullanarak etkin tutma zaman aşımını yapılandırmak için:

  1. Edge kullanıcı arayüzünde, ServiceCallout politikası için yeni etkin kalma zaman aşımı değerini yapılandırmak istediğiniz API proxy'sini seçin.
  2. Değiştirmek istediğiniz ServiceCallout politikasını seçin.
  3. TargetEndpoint yapılandırmasındaki <HTTPTargetConnection> öğesinin altına uygun bir değerle keepalive.timeout.millis özelliğini ekleyin.

    Örneğin, etkin kalma zaman aşımını 30 saniyeye değiştirmek için aşağıdaki kod bloğunu ekleyin:

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

    keepalive.timeout.millis özelliği milisaniye cinsinden olduğundan 30 saniyenin değeri 30000 olur.

    Aşağıdaki örneklerde, API proxy'nizin ServiceCallout politikasında etkin tutma 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>Service Callout-1</DisplayName>
      <HTTPTargetConnection>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</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>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. API proxy'nizde yapılan değişiklikleri kaydedin.

Mesaj işlemcilerinde etkin kalma zaman aşımını yapılandırma

Bu bölümde, mesaj işlemcilerinde etkin tutma zaman aşımının nasıl yapılandırılacağı açıklanmaktadır. Etkin tutma zaman aşımı, Mesaj İşleyici bileşenindeki etkin tutma zaman aşımı değerini milisaniye cinsinden temsil eden HTTPClient.keepalive.timeout.millis özelliği aracılığıyla yapılandırılabilir. Bu özellik, Mesaj İşleyici'de yorumlandığından Edge'i yapılandırma bölümündeki Şu anda yorumlanmış olan bir jetonu ayarlama bölümünde açıklandığı gibi özel conf/http.properties+HTTPClient.keepalive.timeout.millis söz dizimini kullanmanız gerekir.

İleti işlemcilerinde etkin tutma 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. Henüz yoksa oluşturun.
    /opt/apigee/customer/application/message-processor.properties

    Örneğin, dosyayı vi kullanarak açmak için aşağıdakileri 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.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS

    Örneğin, Mesaj İşleyici'deki etkin tutma zaman aşımını 30 saniye olarak değiştirmek için aşağıdaki satırı ekleyin:

    conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
  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.

İleti işlemcilerinde etkin tutma zaman aşımını doğrulama

Bu bölümde, Message Processor'larda keep-alive zaman aşımının başarıyla değiştirildiğini nasıl doğrulayacağınız açıklanmaktadır.

Mesaj işlemcisinde canlı tutma zaman aşımını ayarlamak için özel söz dizimi conf/http.properties+HTTPClient.keepalive.timeout.millis kullanıyor olsanız bile gerçek özelliğin HTTPClient.keepalive.timeout.millis yeni değerle ayarlanıp ayarlanmadığını doğrulamanız gerekir.

  1. Mesaj İşleyici makinesinde, /opt/apigee/edge-message-processor/conf dizininde HTTPClient.keepalive.timeout.millis özelliğini arayın ve aşağıdaki gibi yeni değerle ayarlanıp ayarlanmadığını kontrol edin:
    grep -ri "HTTPClient.keepalive.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. Yeni keep-alive 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.

    Yukarıdaki komutun, etkin kalma zaman aşımını 30 saniye olarak yapılandırdıktan sonraki örnek sonucu aşağıdaki gibidir:

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

    Yukarıdaki örnek çıktıda, HTTPClient.keepalive.timeout.millis özelliğinin http.properties içinde yeni değer 30000 ile ayarlandığını unutmayın. Bu, Mesaj İşleyici'de keep alive zaman aşımının 30 saniye olarak başarıyla yapılandırıldığını gösterir.

  3. Mülk için hâlâ eski değeri görüyorsanız HTTPClient.keepalive.timeout.millis, Mesaj işlemcilerinde etkin kalma zaman aşımını yapılandırma bölümünde belirtilen 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.
  4. Hâlâ etkin kalma zaman aşımını değiştiremiyorsanız Google Cloud Apigee Edge Destek Ekibi ile iletişime geçin.