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

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
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ı, Yönlendirici'nin bir alan adında bir veri almak için beklediği süreyi bağlantı kurulduktan ve istek gönderildikten sonra Mesaj İşleyiciden gelen yanıt İletiyi İşleyen’e gönderilir. Yönlendiricideki varsayılan G/Ç zaman aşımı değeri 57 saniyedir.

Yönlendiriciler için G/Ç zaman aşımı süresi 57 saniye olan varsayılan değerden artırılabilir veya azaltılabilir seçin. Aşağıdaki yollarla yapılandırılabilir:

  • Sanal ana makinede
  • Yönlendirici Üzerinde

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

Yönlendiricinin bağlantıyı kurduktan ve isteği Mesaj İşleyici.

Bu zaman aşımı süresi içinde İleti İşleyen’den yanıt gönderilmezse Yönlendirici zaman aşımına uğradı.

Varsayılan olarak bu özellik, conf_load_balancing_load.balancing.driver.proxy.read.timeout özelliği hakkında daha fazla bilgi edinin. İlgili içeriği oluşturmak için kullanılan varsayılan değer 57 saniye'dir.

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

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

Yönlendiricinin bağlantıyı kurduktan ve isteği Mesaj İşleyici.

Bu zaman aşımı süresi içinde İleti İşleyen’den herhangi bir yanıt gelmezse Yönlendirici zaman aşımına uğradı.

Bu özellik, bu Yönlendirici üzerindeki tüm sanal ana makineler için kullanılır.

Bu özelliğin varsayılan değeri 57 saniye'dir.

Bu özelliği şurada açıklandığı şekilde değiştirebilirsiniz: Aşağıda Yönlendiricilerde G/Ç zaman aşımını yapılandırma bölümüne bakabilir veya proxy_read_timeout özelliğini sanal ana makine düzeyinde ayarlayarak bu değeri artırabilirsiniz.

Bu mülk için zaman aralığını, şu not:

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

Yönlendiricinin tüm İleti dizilerinden yanıt almak için bekleyeceği toplam süreyi Bağlantı kurulduktan ve her bir İletiye istek gönderdikten sonra İşleyen.

Bu, Edge yüklemenizde birden fazla Mesaj İşleyicisi olduğunda ve Yeniden deneme, hata oluştuğunda etkinleştirilir. Şunlardan birine sahiptir:

  • Mevcut conf_load_balancing_load.balancing.driver.proxy.read.timeout değeri
  • Varsayılan değer olan 57 saniye

conf_load_balancing_load.balancing.driver.proxy.read.timeout konusunda olduğu gibi özelliği kullanıyorsanız varsayılandan (saniye) farklı zaman aralıkları belirtebilirsiniz.

Başlamadan önce

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

ziyaret edin.

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

Bu bölümde, bir kurum ve ortam. G/Ç zaman aşımı, sanal ana makinede proxy_read_timeout özelliği. Bu özellik, saniye cinsinden G/Ç zaman aşımı değerini temsil eder.

ziyaret edin.

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

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

Edge kullanıcı arayüzü

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

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

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

    Proxy okuma zaman aşımı değeri 120

  6. Değişikliği kaydedin.

Edge API'si

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

  1. Geçerli sanal ana makine yapılandırmasını şunu kullanarak alın: Aşağıda gösterildiği gibi sanal ana makine API'sini alın:

    Herkese açık 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 mülkünü mevcut sanal ana makine yapılandırmasına ekleyin Saniye cinsinden değere sahip properties altındaki JSON yükü.

    Örneğin, G/Ç zaman aşımını 120 saniye olarak değiştirmek için properties kod bloğunu kullanın:

    Güncellenmiş 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ı Bir sanal ana makine API'sini aşağıdaki şekilde güncelleyin:

    Herkese açık 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, G/Ç zaman aşımının bir sanal ana makine oluşturabilirsiniz.

  1. Şunu yürütün: Aşağıda gösterildiği gibi virtualhost yapılandırmasını almak için sanal ana makine API'sini alın:

    Herkese açık 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üncellenmiş 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 öğesinin 120 saniye olan yeni değer.

  3. proxy_read_timeout, için eski değeri hâlâ görüyorsanız Sanal ana makinede G/Ç zaman aşımını yapılandırma sayfasında verilen tüm adımları doğru bir şekilde uygulayın. Atladığınız herhangi bir adım varsa tüm adımları doğru şekilde tekrar edin.
  4. G/Ç zaman aşımını yine de 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ı Yönlendirici özelliği aracılığıyla yapılandırılır. conf_load_balancing_load.balancing.driver.proxy.read.timeout (Bu değeri temsil eder) saniye cinsinden G/Ç zaman aşımı değerine ayarlanır.

ziyaret edin.

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, 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 için değer:
  3. conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds
    

    Örneğin, Yönlendirici'deki G/Ç zaman aşımını 120 saniye olarak 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ğiştirebilirsiniz. Örneğin, zaman aşımını 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önlendiriciler için tekrarlayın.

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

Bu bölümde, G/Ç zaman aşımının Yönlendiriciler.

Jetonu kullansanız bile G/Ç zaman aşımını ayarlamak için conf_load_balancing_load.balancing.driver.proxy.read.timeout üzerinde çalıştığınızda, gerçek proxy_read_timeout özelliğinin yeni değerle ayarlandı.

  1. proxy_read_timeout mülkünü, /opt/nginx/conf.d dizininden yeni değerini aşağıda görebilirsiniz:
    grep -ri "proxy_read_timeout" /opt/nginx/conf.d
    
  2. Yönlendiricide yeni G/Ç zaman aşımı değeri başarıyla ayarlanmışsa yukarıdaki komut yeni değeri tüm sanal ana makine yapılandırma dosyalarında gösterir.

    Aşağıda,grep G/Ç zaman aşımı 120 saniyedir:

    /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 çıkışta proxy_read_timeout özelliğine dikkat edin. , 0-default.conf öğesinde yeni değeri 120 olarak ayarlandı. varsayılan sanal ana makinenin yapılandırma dosyasını kullanır. Bu, G/Ç zaman aşımını belirtir 120 saniyeye başarıyla yapılandırıldı.

  3. Hâlâ proxy_read_timeout özelliğinin eski değerini görüyorsanız belirtilen tüm adımları uyguladığınızı doğrulayın: Yönlendiricilerde 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.
  4. G/Ç zaman aşımını yine de değiştiremiyorsanız Apigee Edge Destek Ekibi ile iletişime geçin.

Sırada ne var?

İleti İşleyicide G/Ç Zaman Aşımı Yapılandırma hakkında daha fazla bilgi edinin