

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Erledigen Sie den Host-Austausch und den Verbindungsabbruch
<a name="best-practices-ecs-eks-host-replacement"></a>

Wenn Neptune einen Host ersetzt (z. B. während einer Wartung oder eines Failovers), werden bestehende Verbindungen zu diesem Host ungültig. In containerisierten Umgebungen kann dies dazu führen, dass alle Threads in einem Container zum Stillstand kommen, wenn der Client die Ersetzung nicht ordnungsgemäß handhabt.

**Verwenden Sie aktuelle Client-Versionen**

Wenn Sie die Gremlin-Abfragesprache verwenden, verwenden Sie eine TinkerPop Treiberversion, die mit Ihrer Neptune-Engine-Version kompatibel ist (siehe [Zugriff auf ein Neptune-Diagramm mit Gremlin](access-graph-gremlin.md) Kompatibilitätstabelle). Wenn Sie den Java-Treiber verwenden, sollten Sie einen Wrapper für `neptune-gremlin-client` den TinkerPop Java-Treiber in Betracht ziehen, der Verbindungsverwaltungsfunktionen wie die Überprüfung des Endpunkts und die Failover-Behandlung hinzufügt. Er folgt den gleichen Versionskompatibilitätsregeln wie der zugrunde liegende TinkerPop Treiber.

Verwenden Sie `neptune-gremlin-client` Version 3.x (oder mindestens Version 2.0.7), je nachdem, was Ihre Neptune-Version zulässt. Diese neueren Versionen verbessern die Ausfallsicherheit und die Verbindungsverarbeitung.

OpenCypher-Benutzer mit dem Neo4j-Treiber sollten das `Driver` Objekt schließen und neu erstellen, wenn Sie während des Failovers einen Verbindungsfehler feststellen. Neptune unterstützt die Bolt-Protokollversionen 1 bis 4.0. Weitere Informationen finden Sie unter [Bewährte Methoden für Neptune mit openCypher und Bolt](best-practices-opencypher.md).

**Verwenden Sie Cluster- oder Reader-Endpunkte**

Stellen Sie keine direkte Verbindung zu Instanzendpunkten her. Verwenden Sie den Cluster-Endpunkt für Schreibvorgänge und den Reader-Endpunkt für Lesevorgänge. Wenn Sie Instanzendpunkte mit verwenden müssen`neptune-gremlin-client`, aktivieren Sie die Filterung der Endpunkt-Integritätsprüfung über die API. `/status`

**Konfigurieren Sie Liveness Tests mit Toleranz**

Stellen Sie Ihren Kubernetes-Liveness Probe `failureThreshold` auf mindestens 30 mit einem Zeitraum von 10 Sekunden (insgesamt 300 Sekunden) ein. Dadurch wird verhindert, dass Kubernetes Pods während des Zeitfensters von etwa 5 Minuten neu startet, in dem Neptune einen Host-Austausch abschließt.

**Implementieren Sie Retry mit Backoff**

Eine einzelne fehlgeschlagene Anfrage beim Host-Austausch sollte den Container nicht zum Absturz bringen. Implementieren Sie eine Wiederholungslogik mit exponentiellem Backoff bei Verbindungsausfällen, sodass vorübergehende Fehler beim Austausch ohne Eingreifen behoben werden können. Hinweise zu Ausnahmen, die wiederholt werden können, finden Sie unter Ausnahmen für [Neptune-Transaktionen](https://docs.aws.amazon.com/neptune/latest/userguide/transactions-exceptions.html).