Nachrichtenprozessor/Routererreichbarkeit aktivieren/deaktivieren

Es empfiehlt sich, die Erreichbarkeit auf einem Server während einer Wartung zu deaktivieren, z. B. für einen Neustart oder ein Upgrade des Servers. Wenn die Erreichbarkeit deaktiviert ist, wird kein Traffic an den Server weitergeleitet. Wenn beispielsweise die Erreichbarkeit auf einem Message Processor deaktiviert ist, leiten Router keinen Traffic an diesen Message Processor weiter.

So können Sie beispielsweise einen Message Processor aktualisieren:

  1. Erreichbarkeit auf dem Message Processor deaktivieren
  2. Aktualisieren Sie den Message Processor.
  3. Erreichbarkeit auf dem Message Processor aktivieren

Erreichbarkeit für einen Message Processor aktivieren/deaktivieren

Wenn Sie die Erreichbarkeit von Message Processor deaktivieren möchten, können Sie einfach den Message Processor beenden:

/opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop

Der Message Processor verarbeitet zuerst alle ausstehenden Nachrichten, bevor er heruntergefahren wird. Alle neuen Anfragen werden an andere verfügbare Message Processor weitergeleitet.

Verwenden Sie die folgenden Befehle, um den Message Processor neu zu starten:

/opt/apigee/apigee-service/bin/apigee-service edge-message-processor start
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready

Der Befehl wait_for_ready gibt die folgende Meldung zurück, wenn der Message Processor die Nachrichten verarbeiten kann:

Checking if message-processor is up: message-processor is up.

Erreichbarkeit auf einem Router deaktivieren/aktivieren

In einer Produktionsumgebung befindet sich in der Regel ein Load-Balancer vor den Edge Routern. Load-Balancer überwachen Port 15999 auf den Routern, um sicherzustellen, dass die Route verfügbar ist.

Konfigurieren Sie den Load-Balancer so, dass er eine HTTP- oder TCP-Systemdiagnose auf dem Router mit der folgenden URL durchführt:

http://router_IP:15999/v1/servers/self/reachable

Diese URL gibt einen HTTP 200-Antwortcode zurück, wenn der Router erreichbar ist.

Wenn ein Router nicht erreichbar ist, können Sie Port 15999 auf dem Router blockieren. Wenn der Load-Balancer über Port 15999 nicht auf den Router zugreifen kann, leitet er keine Anfragen mehr an den Router weiter. Sie können den Port beispielsweise mit dem folgenden iptables-Befehl auf dem Routerknoten blockieren:

sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT

Leeren Sie iptables, um den Router später verfügbar zu machen:

sudo iptables -F

Möglicherweise verwenden Sie iptables zur Verwaltung anderer Ports auf dem Knoten. Dies müssen Sie berücksichtigen, wenn Sie iptables leeren oder iptables zum Blockieren von Port 15999 verwenden. Wenn Sie iptables für andere Regeln verwenden, können Sie die spezifische Änderung mit der Option -D rückgängig machen:

sudo iptables -D INPUT -i eth0 -p tcp --dport 15999 -j REJECT

Router-Systemdiagnosen ausführen

Sie können die folgenden Arten von Systemdiagnosen bei Routern durchführen:

  • Aktivität: Ein Signal an das Monitoring-Subsystem, dass es eine Komponente neu starten kann. Beispiel:
    To check a router's liveness:
    http://router_IP:8081/v1/servers/self/up
    
    To check a load balancer's liveness:
    http://router_IP:15999/v1/servers/self/reachable
  • Bereitschaft:Hiermit wird festgelegt, ob ein Router Kundenanfragen für eine bestimmte Umgebung verarbeiten kann.

    Beispiel:

    To check both a router and MP pool's availability:
    http://router_IP:15999/{org}__{env}

    Um den Status eines Routers abzurufen, stellen Sie eine Anfrage an Port 8081 des Routers:

    curl -v http://router_IP:8081/v1/servers/self/up

    Wenn der Router aktiv ist, gibt die Anfrage in der Antwort „true“ und HTTP 200 zurück. Beachten Sie, dass bei diesem Aufruf nur geprüft wird, ob der Router aktiv ist. Die Steuerung der Erreichbarkeit des Routers über einen Load-Balancer wird durch Port 15999 bestimmt.

    So rufen Sie den Status eines Message Processor ab:

    curl http://Message_Processor_IP:8082/v1/servers/self/up