Router so konfigurieren, dass Verbindungen zu einem Nachrichtenprozessor wiederholt werden

Edge for Private Cloud Version 4.17.09

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 bearbeiten 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, indem Sie die Eigenschaft conf_load_balancing_load.balancing.driver.nginx.server.retry auf dem Router festlegen. Diese Eigenschaft verwendet eine durch Leerzeichen getrennte Gruppe von Werten, die Folgendes enthalten kann:

  • off: Der Wiederholungsversuch wird deaktiviert. Der Router gibt auf eine Anfrage einen Fehlercode zurück.
  • http_599: (Standard) Wenn der Router eine HTTP 599-Antwort vom Message Processor erhält, leitet er 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, antwortet jedoch mit HTTP 599, um dem Router zu signalisieren, dass die Anfrage beim nächsten Message Processor wiederholt werden soll.
  • error: Wenn beim Herstellen einer Verbindung mit dem Message Processor, beim Übergeben einer Anfrage oder beim Lesen des Antwortheaders ein Fehler aufgetreten ist, leitet der Router die Anfrage an den nächsten Message Processor weiter.
  • timeout: Tritt beim Aufbau einer Verbindung mit dem Message Processor, beim Übergeben einer Anfrage an den Message Processor oder beim Lesen des Antwortheaders ein Zeitlimit auf, 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 hinzu, wie unten gezeigt:
    conf_load_Balancing_load.Balancing.driver.nginx.server.retry=http_599 error
  3. Achten Sie darauf, dass die Attributdatei dem Benutzer „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-Neustart

Konfiguration des Router-Timeouts beim Zugriff auf Message Processors als Teil einer API-Proxy-Anfrage

Der Edge Router hat ein voreingestelltes Zeitlimit von 57 Sekunden, wenn versucht wird, im Rahmen der Verarbeitung einer Anfrage über einen API-Proxy auf einen Message Processor zuzugreifen. Nach Ablauf dieses Zeitlimits versucht der Router, eine Verbindung zu einem anderen Message Processor herzustellen, falls verfügbar. Andernfalls wird ein Fehler zurückgegeben.

Dieses Zeitlimit lässt sich 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 in Sekunden für alle Nachrichtenprozessoren an, wenn Ihre Edge-Installation mehrere Nachrichtenprozessoren enthält. Der Standardwert ist der aktuelle Wert von conf_load_balancing_load.balancing.driver.proxy.read.timeout bzw. 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.proxy.read.timeout=120
  3. Achten Sie darauf, dass die Attributdatei dem Benutzer „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-Neustart