Mesaj İşleyici ile bağlantıları yeniden denemek için Yönlendiriciyi yapılandırma

Edge for Private Cloud v. 4.17.05

Durum denetimi sırasında Mesaj İşleyici kullanılamadığında Yönlendirici yanıtını yapılandırma

Yönlendirici, Mesaj İşleyici'nin isteklere hizmet verip veremeyeceğini belirlemek için beş saniyede bir Mesaj İşleyiciye durum denetimi yapar. Bir Mesaj İşleyici çökerse Yönlendirici, istekleri otomatik olarak başka bir Mesaj İşleyici'ye yönlendirir.

Yönlendiricide, Mesaj İşleyici devre dışı kaldığında yönlendiricinin nasıl tepki vereceğini yapılandırmak için Yönlendiricide conf_load_balancing_load.balancing.driver.nginx.server.retry özelliğini ayarlayabilirsiniz. Bu özellik, aşağıdakileri içerebilecek boşlukla sınırlandırılmış bir değerler grubu alır:

  • off: Yeniden denemeyi devre dışı bırak. Yönlendirici, istek üzerine hata kodu döndürür.
  • http_599: (Varsayılan) Yönlendirici, Mesaj İşleyici'den HTTP 599 yanıtı alırsa isteği bir sonraki Mesaj İşleyiciye yönlendirir.

    HTTP 599, Mesaj İşleyici tarafından kapatılırken oluşturulan özel bir yanıt kodudur. Mesaj İşleyici, mevcut tüm istekleri tamamlamaya çalışır ancak yeni istekler için HTTP 599 ile yanıt vererek, bir sonraki Mesaj İşleyicide isteğin yeniden denenmesi için Yönlendiriciye sinyal gönderir.
  • error: Mesaj İşleyici ile bağlantı kurulurken, istek iletilirken veya mesajdaki yanıt başlığı okunurken hata oluşursa Yönlendirici, isteği bir sonraki Mesaj İşleyici'ye iletir.
  • timeout: Mesaj İşleyici ile bağlantı kurarken, ona istek aktarırken veya buradan yanıt başlığını okurken zaman aşımı olursa Yönlendirici, isteği bir sonraki Mesaj İşleyici'ye iletir.
  • invalid_header: Mesaj İşleyici boş veya geçersiz bir yanıt döndürdüyse Yönlendirici, isteği bir sonraki Mesaj İşleyici'ye yönlendirir.
  • http_XXX: Mesaj İşleyici XXX HTTP koduyla bir yanıt döndürdüyse Yönlendirici, isteği bir sonraki Mesaj İşleyiciye yönlendirir.

Yönlendiriciyi yapılandırmak için:

  1. /opt/apigee/customer/application/router.properties dosyasını düzenleyin (dosya mevcut değilse oluşturun).
  2. conf_load_balancing_load.balancing.driver.nginx.server.retry özelliğini aşağıda gösterildiği gibi ekleyin:
    conf_load_balancing_load.balancing.driver.nginx.server.retry=http_599 error
  3. Özellikler dosyasının 'Apigee' kullanıcısına ait olduğundan emin olun:
    > chown Apigee:Apigee /opt/../..//customer/application/router.properties
  4. Yönlendiriciyi yeniden başlatın:
    > /opt/../..//Apigee-service/bin/Apigee-service kenar-router yeniden başlatma

API proxy isteğinin bir parçası olarak Mesaj İşlemcilere erişirken Yönlendirici zaman aşımını yapılandırma

Uç Yönlendirici, bir isteğin API proxy'si aracılığıyla işlenmesinin bir parçası olarak Mesaj İşleyiciye erişmeye çalışırken önceden ayarlanmış 57 saniyelik bir zaman aşımına sahiptir. Bu zaman aşımı süresi dolduğunda Yönlendirici, varsa başka bir Mesaj İşleyiciye bağlanmaya çalışır. Aksi takdirde, bir hata döndürülür.

Bu zaman aşımını kontrol etmek için iki özellik kullanabilirsiniz:

  • conf_load_balancing_load.balancing.driver.proxy.read.timeout, tek bir Mesaj İşleyici için bekleme süresini saniye cinsinden belirtir. Varsayılan değer 57 saniyedir.
  • conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout ifadesi, Edge yüklemenizde birden fazla Mesaj İşleyicisi olduğunda tüm Mesaj İşleyiciler için toplam bekleme süresini saniye cinsinden belirtir. Varsayılan değeri, geçerli conf_load_balancing_load.balancing.driver.proxy.read.timeout değerine veya 57 saniyeye sahiptir.

Yönlendiriciyi yapılandırmak için:

  1. /opt/apigee/customer/application/router.properties dosyasını düzenleyin (dosya mevcut değilse oluşturun).
  2. Özellikleri aşağıda gösterildiği gibi ayarlayın:
    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
    conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout=240
  3. Özellikler dosyasının 'Apigee' kullanıcısına ait olduğundan emin olun:
    > chown Apigee:Apigee /opt/../..//customer/application/router.properties
  4. Yönlendiriciyi yeniden başlatın:
    > /opt/../..//Apigee-service/bin/Apigee-service kenar-router yeniden başlatma