Konfigurowanie routera do ponownego nawiązywania połączeń z procesorem wiadomości

Edge for Private Cloud wer. 4.17.09

Konfigurowanie odpowiedzi routera, gdy procesor wiadomości jest niedostępny podczas kontroli stanu

Router co 5 sekund sprawdza stan procesora wiadomości, aby określić, czy może on realizować żądania usługi. Jeśli procesor wiadomości ulegnie awarii, router automatycznie przekazuje żądania do innego podmiotu.

Aby skonfigurować reakcję routera w przypadku awarii procesora wiadomości, ustaw w routerze właściwość conf_load_balancing_load.balancing.driver.nginx.server.retry. Przyjmuje ona rozdzielany spacjami wartości, które mogą obejmować:

  • off: wyłącza ponowienie próby, router zwraca kod błędu na żądanie.
  • http_599: (wartość domyślna) jeśli router otrzyma odpowiedź HTTP 599 od procesora wiadomości, router przekaże żądanie do następnego procesora wiadomości.

    HTTP 599 to specjalny kod odpowiedzi generowany przez podmiot przetwarzający wiadomości podczas jego wyłączania. Podmiot przetwarzający wiadomości próbuje zrealizować wszystkie istniejące żądania, ale w przypadku nowych odpowiada za pomocą HTTP 599, aby zasygnalizować routerowi, aby ponowił żądanie w następnym procesorze wiadomości.
  • błąd: jeśli wystąpił błąd podczas nawiązywania połączenia z procesorem wiadomości, przekazywania do niego żądania lub odczytu nagłówka odpowiedzi, router przekazuje żądanie do następnego procesora wiadomości.
  • timeout: jeśli limit czasu zostanie przekroczony podczas nawiązywania połączenia z procesorem wiadomości, przekazywania do niego żądania lub odczytu nagłówka odpowiedzi, router przekazuje żądanie do następnego procesora wiadomości.
  • invalid_header: jeśli procesor wiadomości zwrócił pustą lub nieprawidłową odpowiedź, router przekazuje żądanie do następnego.
  • http_XXX: jeśli procesor wiadomości zwrócił odpowiedź z kodem HTTP XXX, router przekierowuje żądanie do następnego procesora.

Aby skonfigurować router:

  1. Edytuj plik /opt/apigee/customer/application/router.properties (jeśli taki plik nie istnieje, utwórz go).
  2. Dodaj właściwość conf_load_balancing_load.balancing.driver.nginx.server.retry, jak pokazano poniżej:
    conf_load_Balance_load.Balance.driver.nginx.server.retry=http_599 error
  3. Sprawdź, czy plik właściwości należy do użytkownika „apigee”:
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. Ponownie uruchom router:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-router restart

Konfigurowanie czasu oczekiwania routera podczas uzyskiwania dostępu do procesorów wiadomości w ramach żądania serwera proxy interfejsu API

Router brzegowy ma wstępnie ustawiony czas oczekiwania 57 sekund, gdy próbuje uzyskać dostęp do procesora wiadomości w ramach obsługi żądania przez serwer proxy interfejsu API. Po upływie tego czasu router spróbuje połączyć się z innym procesorem wiadomości, jeśli jest dostępny. W przeciwnym razie zwróci błąd.

Limit czasu możesz określić za pomocą 2 właściwości:

  • conf_load_balancing_load.balancing.driver.proxy.read.timeout określa czas oczekiwania (w sekundach) dla pojedynczego procesora wiadomości. Wartość domyślna to 57 sekund.
  • conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout określa łączny czas oczekiwania dla wszystkich procesorów wiadomości (w sekundach), gdy instalacja Edge ma wiele procesorów wiadomości. Ma domyślną wartość równą bieżącej wartości conf_load_balancing_load.balancing.driver.proxy.read.timeout, czyli 57 sekund.

Aby skonfigurować router:

  1. Edytuj plik /opt/apigee/customer/application/router.properties (jeśli taki plik nie istnieje, utwórz go).
  2. Ustaw właściwości zgodnie z tymi wytycznymi:
    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
  3. Sprawdź, czy plik właściwości należy do użytkownika „apigee”:
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. Ponownie uruchom router:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-router restart