Yönlendiricilerde 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'in yönlendiricilerinde G/Ç zaman aşımının nasıl yapılandırılacağı açıklanmaktadır.

Yönlendiricideki G/Ç zaman aşımı, bağlantı kurulduktan ve Mesaj İşleyici'ye istek gönderildikten sonra yönlendiricinin Mesaj İşleyici'den yanıt almayı beklediği süreyi ifade eder. Yönlendiricideki G/Ç zaman aşımının varsayılan değeri 57 saniyedir.

Yönlendiriciler için G/Ç zaman aşımı, ihtiyaçlarınıza bağlı olarak varsayılan 57 saniyelik değerden artırılabilir veya azaltılabilir. Aşağıdaki şekillerde yapılandırılabilir:

  • Sanal ana makinede
  • Yönlendiricide

Aşağıdaki özellikler, yönlendiricilerdeki G/Ç zaman aşımını kontrol eder:

Mülk Adı Konum Açıklama
proxy_read_timeout Sanal ana makine

Bağlantı kurulduktan ve istek Mesaj İşleyici'ye gönderildikten sonra Yönlendirici'nin Mesaj İşleyici'den yanıt almak için bekleyeceği maksimum süreyi belirtir.

Bu zaman aşımı süresi içinde Mesaj İşleyici'den yanıt gelmezse yönlendiricinin zaman aşımı süresi dolar.

Varsayılan olarak bu özellik, yönlendiricideki conf_load_balancing_load.balancing.driver.proxy.read.timeout özelliği için ayarlanan değeri alır. Varsayılan değer 57 saniyedir.

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

conf_load_balancing_load.balancing.driver.proxy.read.timeout Yönlendirici

Bağlantı kurulduktan ve istek Mesaj İşleyici'ye gönderildikten sonra Yönlendirici'nin Mesaj İşleyici'den yanıt almak için bekleyeceği maksimum süreyi belirtir.

Bu zaman aşımı süresi içinde Mesaj İşleyici'den yanıt gelmezse yönlendiricinin zaman aşımı süresi dolar.

Bu özellik, bu yönlendiricideki tüm sanal ana makineler için kullanılır.

Bu özelliğin varsayılan değeri 57 saniyedir.

Bu özelliği aşağıdaki Yönlendiricilerde G/Ç zaman aşımını yapılandırma bölümünde açıklandığı şekilde değiştirebilir veya proxy_read_timeout özelliğini sanal ana makine düzeyinde ayarlayarak bu değerin üzerine yazabilirsiniz.

Aşağıdaki gösterimi kullanarak bu özelliğin zaman aralığını saniye dışında bir değer olarak ayarlayabilirsiniz:

ms: milliseconds
s:  seconds (default)
m:  minutes
h:  hours
d:  days
w:  weeks
M:  months (length of 30 days)
y:  years (length of 365 days)
conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout Yönlendirici

Bağlantı kurulduktan ve her Mesaj İşleyiciye istek gönderildikten sonra Yönlendiricinin tüm Mesaj İşleyicilerden yanıt almak için beklediği toplam süreyi belirtir.

Bu, Edge yüklemenizde birden fazla mesaj işlemcisi olduğunda ve hatalar oluştuğunda yeniden deneme etkinleştirildiğinde geçerlidir. Aşağıdaki değerlerden birine sahiptir:

  • conf_load_balancing_load.balancing.driver.proxy.read.timeout değerinin geçerli değeri
  • Varsayılan değer 57 saniyedir.

conf_load_balancing_load.balancing.driver.proxy.read.timeout özelliğiyle olduğu gibi, varsayılan (saniye) dışında zaman aralıkları da belirtebilirsiniz.

Başlamadan önce

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

Sanal ana makinede G/Ç zaman aşımını yapılandırma

Bu bölümde, bir kuruluş ve ortamla ilişkili sanal ana makinede G/Ç zaman aşımının nasıl yapılandırılacağı açıklanmaktadır. G/Ç zaman aşımı, saniye cinsinden G/Ç zaman aşımı değerini temsil eden proxy_read_timeout özelliği aracılığıyla sanal ana makinede yapılandırılabilir.

Sanal ana makineyi aşağıdaki yöntemlerden birini kullanarak yapılandırabilirsiniz:

  • Edge kullanıcı arayüzü
  • Edge API

Edge kullanıcı arayüzü

Sanal ana makineyi Edge kullanıcı arayüzünü kullanarak yapılandırmak için aşağıdakileri yapın:

  1. Edge kullanıcı arayüzüne giriş yapın.
  2. Yönetici > Sanal Ana Makineler'e gidin.
  3. Bu değişikliği yapmak istediğiniz belirli bir Ortam'ı seçin.
  4. Yeni G/Ç zaman aşımı değerini yapılandırmak istediğiniz belirli sanal ana makineyi seçin.
  5. Özellikler bölümünde Proxy Okuma Zaman Aşımı değerini saniye cinsinden güncelleyin.

    Örneğin, zaman aşımını 120 saniye olarak değiştirmek istiyorsanız aşağıdaki şekilde gösterildiği gibi 120 yazın:

    120 olan proxy okuma zaman aşımı değeri

  6. Değişikliği kaydedin.

Edge API

Edge API'yi kullanarak sanal ana makineyi yapılandırmak için aşağıdakileri yapın:

  1. Aşağıda gösterildiği gibi Get virtual host API'yi kullanarak mevcut sanal ana makine yapılandırmasını alın:

    Public Cloud kullanıcısı

    curl -v -X GET https//api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                    

    Private Cloud kullanıcısı

    curl -v -X GET http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                    

    Burada:

    {organization-name}, kuruluşun adıdır.

    {environment-name}, ortamın adıdır.

    {virtualhost-name}, sanal ana makinenin adıdır.

    Örnek sanal ana makine yapılandırması

        {
          "hostAliases": [
            "api.myCompany,com"
          ],
          "interfaces": [],
          "listenOptions": [],
          "name": "secure",
          "port": "443",
          "retryOptions": [],
          "sSLInfo": {
            "ciphers": [],
            "clientAuthEnabled": "false",
            "enabled": "true",
            "ignoreValidationErrors": false,
            "keyAlias": "myCompanyKeyAlias",
            "keyStore": "ref://myCompanyKeystoreref",
            "protocols": []
          },
          "useBuiltInFreeTrialCert": false
        }
  2. proxy_read_timeout özelliğini, mevcut sanal ana makine yapılandırması JSON yüküne properties altında saniye cinsinden değerle ekleyin.

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

    Güncellenen sanal ana makine yapılandırması örneği

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "proxy_read_timeout",
            "value": "120"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
  3. Güncellenen sanal ana makine yapılandırmasını bir dosyaya kaydedin. Örneğin, virtualhost-payload.json.
  4. virtualhost yapılandırmasını, Sanal ana makineyi güncelleme API'sini kullanarak aşağıdaki şekilde güncelleyin:

    Public Cloud kullanıcısı

    curl -v -X POST Content-Type: application/json
    https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u <username>
                

    Private Cloud kullanıcısı

    curl -v -X POST Content-Type: application/json
    http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u <username>
                

    Burada:

    {organization-name}, kuruluşun adıdır.

    {environment-name}, ortamın adıdır.

    {virtualhost-name}, sanal ana makinenin adıdır.

Sanal ana makinelerde G/Ç zaman aşımını doğrulama

Bu bölümde, Edge API kullanılarak sanal ana makinede G/Ç zaman aşımının başarıyla değiştirilip değiştirilmediğinin nasıl doğrulanacağı açıklanmaktadır.

  1. Aşağıda gösterildiği gibi virtualhost yapılandırmasını almak için Get virtual host API'sini yürütün:

    Public Cloud kullanıcısı

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                  

    Private Cloud kullanıcısı

    curl -v -X GET http://<management server-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
                  

    Burada:

    {organization-name}, kuruluşun adıdır.

    {environment-name}, ortamın adıdır.

    {virtualhost-name}, sanal ana makinenin adıdır.

  2. proxy_read_timeout özelliğinin yeni değere ayarlandığını doğrulayın.

    Güncellenen sanal ana makine yapılandırması örneği

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "proxy_read_timeout",
            "value": "120"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }

    Yukarıdaki örnekte, proxy_read_timeout değerinin 120 saniye olarak ayarlandığını unutmayın.

  3. proxy_read_timeout, için eski değeri görmeye devam ediyorsanız Sanal ana makinede G/Ç zaman aşımını yapılandırma başlıklı makalede 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. G/Ç zaman aşımını hâlâ değiştiremiyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.

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

Bu bölümde, yönlendiricilerde G/Ç zaman aşımının nasıl yapılandırılacağı açıklanmaktadır. G/Ç zaman aşımı, saniye cinsinden G/Ç zaman aşımı değerini temsil eden conf_load_balancing_load.balancing.driver.proxy.read.timeout Router özelliği aracılığıyla yapılandırılabilir.

Yönlendiricilerde G/Ç zaman aşımını yapılandırmak için aşağıdakileri yapın:

  1. Yönlendirici makinesinde aşağıdaki dosyayı bir düzenleyicide açın. Henüz yoksa oluşturun.
    /opt/apigee/customer/application/router.properties

    Örneğin, dosyayı vi ile açmak için aşağıdaki komutu girin:

    vi /opt/apigee/customer/application/router.properties
  2. properties dosyasına aşağıdaki biçimde bir satır ekleyin ve time_in_seconds yerine bir değer girin:
  3. conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds

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

    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120

    G/Ç zaman aşımını dakika cinsinden de değiştirebilirsiniz. Örneğin, zaman aşımını iki dakikaya değiştirmek için aşağıdaki satırı ekleyin:

    conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
  4. Değişikliklerinizi kaydedin.
  5. Bu ö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/router.properties
  6. Yönlendiriciyi aşağıda gösterildiği gibi yeniden başlatın:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  7. Birden fazla yönlendiriciniz varsa yukarıdaki adımları tüm yönlendiricilerde tekrarlayın.

Yönlendiricilerde G/Ç zaman aşımını doğrulama

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

Yönlendiricide G/Ç zaman aşımını ayarlamak için jetonu conf_load_balancing_load.balancing.driver.proxy.read.timeout kullansanız da gerçek özelliğin proxy_read_timeout yeni değerle ayarlanıp ayarlanmadığını doğrulamanız gerekir.

  1. proxy_read_timeout dizininde mülkü arayın /opt/nginx/conf.d ve yeni değerin aşağıdaki gibi ayarlanıp ayarlanmadığını kontrol edin:
    grep -ri "proxy_read_timeout" /opt/nginx/conf.d
  2. Yeni G/Ç zaman aşımı değeri yönlendiricide başarıyla ayarlanırsa yukarıdaki komut, tüm sanal ana makine yapılandırma dosyalarında yeni değeri gösterir.

    Aşağıda, G/Ç zaman aşımı 120 saniye olduğunda yukarıdaki grep komutunun örnek sonucu verilmiştir:

    /opt/nginx/conf.d/0-default.conf:proxy_read_timeout 120;
    /opt/nginx/conf.d/0-edge-health.conf:proxy_read_timeout 1s;

    Yukarıdaki örnek çıktıda, proxy_read_timeout özelliğinin 0-default.conf içinde yeni değer olan 120 ile ayarlandığını unutmayın. varsayılan sanal ana makine için yapılandırma dosyasıdır. Bu, G/Ç zaman aşımının yönlendiricide 120 saniye olarak başarıyla yapılandırıldığını gösterir.

  3. Mülk için hâlâ eski değeri proxy_read_timeout görüyorsanız Yönlendiricilerde G/Ç zaman aşımını yapılandırma başlıklı makalede 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ı doğru şekilde tekrar edin.
  4. G/Ç zaman aşımını hâlâ değiştiremiyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.

Sırada ne var?

Mesaj İşleyici'de G/Ç Zaman Aşımını Yapılandırma hakkında bilgi edinin.