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ıyı kurduktan ve isteği Mesaj İşleyiciye gönderdikten sonra Yönlendiricinin Mesaj İşleyici'den yanıt almak için bekleyeceği süreyi temsil 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 göre varsayılan değer olan 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önlendiricilerde G/Ç zaman aşımını kontrol eder:

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

Bağlantı kurulduktan ve isteği Mesaj İşleyiciye gönderdikten sonra Yönlendiricinin, 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 alamazsanız Yönlendirici zaman aşımına uğrar.

Varsayılan olarak bu özellik, Yönlendiricide 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 isteği Mesaj İşleyiciye gönderdikten sonra Yönlendiricinin, 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 alamazsanız Yönlendirici zaman aşımına uğrar.

Bu özellik, bu Yönlendirici üzerindeki 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 sanal ana makine düzeyinde proxy_read_timeout özelliğini ayarlayarak bu değerin üzerine yazabilirsiniz.

Aşağıdaki gösterimi kullanarak bu özelliğin zaman aralığını saniyeden farklı 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 isteği her Mesaj İşleyiciye gönderdikten sonra Yönlendirici'nin tüm Mesaj İşleyicilerinden yanıt almak için bekleyeceği toplam süreyi belirtir.

Bu durum, Edge yüklemenizde birden fazla Mesaj İşleyicisi varsa ve hata oluştuğunda yeniden deneme etkinleştirildiğinde geçerlidir. Aşağıdakilerden biri değerine sahiptir:

  • Şu anki conf_load_balancing_load.balancing.driver.proxy.read.timeout değeri
  • 57 saniye olan varsayılan değer

conf_load_balancing_load.balancing.driver.proxy.read.timeout özelliğinde olduğu gibi, varsayılan değer (saniye) dışında zaman aralıkları 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ı, sanal ana makinede proxy_read_timeout özelliği aracılığıyla yapılandırılabilir. Bu özellik, G/Ç zaman aşımı değerini saniye cinsinden temsil eder.

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

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

Edge kullanıcı arayüzü

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

  1. Edge UI'ya giriş yapın.
  2. Admin > Virtual Hosts'a (Yönetici > Sanal Ana Makineler) 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 sanal ana makineyi seçin.
  5. Özellikler'in altında 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:

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

  6. Değişikliği kaydedin.

Edge API'sı

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

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

    Herkese açık bulut 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, saniye cinsinden değerle birlikte properties altındaki mevcut sanal ana makine yapılandırması JSON yüküne ekleyin.

    Örneğin, G/Ç zaman aşımını 120 saniye olarak değiştirmek için properties kod bloğunu aşağıda gösterildiği gibi ekleyin:

    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. Bir sanal ana makineyi güncelle API'sini kullanarak, değişiklikle virtualhost yapılandırmasını aşağıdaki gibi güncelleyin:

    Herkese açık bulut 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 Edge API kullanılarak sanal ana makinede başarıyla değiştirildiğini nasıl doğrulayacağınız açıklanmaktadır.

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

    Herkese açık bulut 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 değerinin 120 saniye olan yeni değerle ayarlandığını unutmayın.

  3. proxy_read_timeout, öğesinin eski değerini görmeye devam ediyorsanız Sanal ana makinede G/Ç zaman aşımını yapılandırma bölümünde açıklanan tüm adımları uyguladığınızdan emin olun. Herhangi bir adımı atladıysanız tüm adımları doğru bir şekilde tekrar edin.
  4. G/Ç zaman aşımını hâlâ değiştiremiyorsanız Apigee Edge Desteği 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ı, G/Ç zaman aşımı değerini saniye cinsinden temsil eden conf_load_balancing_load.balancing.driver.proxy.read.timeout Yönlendirici ö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, time_in_seconds yerine aşağıdaki biçimde bir satır ekleyin:
  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
    

    Ayrıca, G/Ç zaman aşımını dakika cinsinden değiştirebilirsiniz. Örneğin, zaman aşımını iki dakika olarak 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. Aşağıda gösterildiği gibi, bu mülkler dosyasının 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, G/Ç zaman aşımının yönlendiricilerde 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 conf_load_balancing_load.balancing.driver.proxy.read.timeout jetonunu kullansanız bile proxy_read_timeout gerçek özelliğinin yeni değerle ayarlanıp ayarlanmadığını doğrulamanız gerekir.

  1. /opt/nginx/conf.d dizininde proxy_read_timeout özelliğini arayın ve aşağıdaki şekilde yeni değerle 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 ayarlanmışsa 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 komutundan alınan örnek sonuç 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 çıkışta, varsayılan sanal ana makinenin yapılandırma dosyası olan 0-default.conf öğesinde proxy_read_timeout özelliğinin yeni 120 değeriyle ayarlandığına dikkat edin. Bu, G/Ç zaman aşımının Yönlendiricide 120 saniye olacak şekilde başarıyla yapılandırıldığını belirtir.

  3. proxy_read_timeout mülkünün eski değerini görmeye devam ediyorsanız Yönlendiricilerde G/Ç zaman aşımını yapılandırma bölümünde 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.
  4. G/Ç zaman aşımını hâlâ değiştiremiyorsanız Apigee Edge Desteği ile iletişime geçin.

Sırada ne var?

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