Router so konfigurieren, dass Verbindungen zu einem Nachrichtenprozessor wiederholt werden

Edge for Private Cloud v. 4.17.05

Routerantwort konfigurieren, wenn ein Message Processor während einer Systemdiagnose nicht verfügbar ist

Der Router führt alle fünf Sekunden eine Systemdiagnose für den Message Processor durch, um festzustellen, ob der Message Processor Anfragen verarbeiten kann. Wenn ein Message Processor ausfällt, leitet der Router Anfragen automatisch an einen anderen Message Processor weiter.

Sie können konfigurieren, wie der Router reagiert, wenn der Message Processor ausfällt. Legen Sie dazu das Attribut conf_load_balancing_load.balancing.driver.nginx.server.retry auf dem Router fest. Diese Property akzeptiert eine durch Leerzeichen getrennte Gruppe von Werten, die Folgendes enthalten kann:

  • off: Wiederholungsversuch deaktivieren. Der Router gibt bei einer Anfrage einen Fehlercode zurück.
  • http_599: (Standard) Wenn der Router eine HTTP-599-Antwort vom Message Processor empfängt, leitet der Router die Anfrage an den nächsten Message Processor weiter.

    HTTP 599 ist ein spezieller Antwortcode, der von einem Message Processor generiert wird, wenn er heruntergefahren wird. Der Message Processor versucht, alle vorhandenen Anfragen abzuschließen. Bei neuen Anfragen antwortet er jedoch mit HTTP 599, um dem Router zu signalisieren, dass er die Anfrage beim nächsten Message Processor wiederholen soll.
  • error: Wenn beim Herstellen einer Verbindung mit dem Message Processor, beim Weiterleiten einer Anfrage an ihn oder beim Lesen des Antwortheaders ein Fehler aufgetreten ist, leitet der Router die Anfrage an den nächsten Message Processor weiter.
  • timeout: Wenn beim Herstellen einer Verbindung mit dem Message Processor, beim Weiterleiten einer Anfrage an ihn oder beim Lesen des Antwortheaders von ihm eine Zeitüberschreitung auftritt, leitet der Router die Anfrage an den nächsten Message Processor weiter.
  • invalid_header: Wenn der Message Processor eine leere oder ungültige Antwort zurückgegeben hat, leitet der Router die Anfrage an den nächsten Message Processor weiter.
  • http_XXX: Wenn der Message Processor eine Antwort mit dem HTTP-Code XXX zurückgegeben hat, leitet der Router die Anfrage an den nächsten Message Processor weiter.

So konfigurieren Sie den Router:

  1. Bearbeiten Sie die Datei /opt/apigee/customer/application/router.properties. Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
  2. Fügen Sie das Attribut conf_load_balancing_load.balancing.driver.nginx.server.retry wie unten gezeigt hinzu:
    conf_load_balancing_load.balancing.driver.nginx.server.retry=http_599 error
  3. Achten Sie darauf, dass die Attributdatei dem Nutzer „apigee“ gehört:
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. Starten Sie den Router neu:
    > /opt/apigee/apigee-service/bin/apigee-service edge-router restart

Router-Zeitüberschreitung beim Zugriff auf Message Processors im Rahmen einer API-Proxy-Anfrage konfigurieren

Der Edge-Router hat ein voreingestelltes Zeitlimit von 57 Sekunden, wenn er versucht, auf einen Message Processor zuzugreifen, um eine Anfrage über einen API-Proxy zu verarbeiten. Wenn dieses Zeitlimit abläuft, versucht der Router, eine Verbindung zu einem anderen Message Processor herzustellen, falls einer verfügbar ist. Andernfalls wird ein Fehler zurückgegeben.

Sie können dieses Zeitlimit mit zwei Attributen steuern:

  • conf_load_balancing_load.balancing.driver.proxy.read.timeout gibt die Wartezeit in Sekunden für einen einzelnen Message Processor an. Der Standardwert beträgt 57 Sekunden.
  • conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout gibt die Gesamtwartezeit für alle Message Processors in Sekunden an, wenn Ihre Edge-Installation mehrere Message Processors hat. Der Standardwert ist der aktuelle Wert von conf_load_balancing_load.balancing.driver.proxy.read.timeout oder 57 Sekunden.

So konfigurieren Sie den Router:

  1. Bearbeiten Sie die Datei /opt/apigee/customer/application/router.properties. Wenn die Datei nicht vorhanden ist, erstellen Sie sie.
  2. Legen Sie die Attribute wie unten gezeigt fest:
    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
    conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout=240
  3. Achten Sie darauf, dass die Attributdatei dem Nutzer „apigee“ gehört:
    > chown apigee:apigee /opt/apigee/customer/application/router.properties
  4. Starten Sie den Router neu:
    > /opt/apigee/apigee-service/bin/apigee-service edge-router restart