Heartbeat-Konfiguration für Neptune Serverless - Amazon Neptune

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.

Heartbeat-Konfiguration für Neptune Serverless

Wenn Sie WebSocket Gremlin-Clients mit Neptune Serverless verwenden, müssen Sie das Ping-Intervall des Clients entsprechend konfigurieren, um stabile Verbindungen während Skalierungsereignissen aufrechtzuerhalten. Der Gremlin-Client verwendet WebSocket Verbindungen und sendet regelmäßig Pings, um zu überprüfen, ob die Verbindung aktiv ist. Der Client erwartet innerhalb des Ping-Intervalls eine Antwort vom Server. Wenn der Server nicht antwortet, schließt der Client die Verbindung automatisch.

Für von Neptune bereitgestellte Instances empfehlen wir, das Ping-Intervall auf 5 Sekunden festzulegen. Für Neptune Serverless-Cluster empfehlen wir, das Ping-Intervall auf mindestens 20 Sekunden festzulegen, um möglichen Verzögerungen bei Skalierungsvorgängen Rechnung zu tragen. Dieser Parameter steuert, wie lange der Client zwischen Schreibvorgängen auf den Server wartet, bevor er einen Ping sendet, um zu überprüfen, ob die Verbindung noch aktiv ist.

Die Konfiguration dieses Parameters hängt von der Client-Implementierung ab:

Konfiguration des Java-Clients

Konfigurieren Sie für den TinkerPop Java-Gremlin-Client den keepAliveInterval Parameter:

Cluster.Builder builder = Cluster.build() .addContactPoint(endpoint) .keepAliveInterval(20000); // Configure ping interval in milliseconds

Weitere Informationen zur Java-Treiberkonfiguration finden Sie in der TinkerPop Java-Dokumentation.

Gehen Sie zur Client-Konfiguration

Konfigurieren Sie für den Gremlin Go-Client den KeepAliveInterval Parameter:

rc, err := driver.NewDriverRemoteConnection(endpoint, func(settings *driver.DriverRemoteConnectionSettings) { settings.TraversalSource = "g" settings.AuthInfo = auth settings.KeepAliveInterval = 20 * time.Second // Configure ping interval ... })

Weitere Informationen zur Go-Treiberkonfiguration finden Sie in der TinkerPop Go-Dokumentation.

JavaScript/Node.js Client-Konfiguration

Konfigurieren Sie für den Gremlin-Client JavaScript /Node.js den pingInterval Parameter:

const gremlin = require('gremlin'); const DriverRemoteConnection = gremlin.driver.DriverRemoteConnection; const connection = new DriverRemoteConnection(endpoint, { traversalSource: 'g', pingInterval: 20000 // Configure ping interval in milliseconds });

Weitere Informationen zur JavaScript Treiberkonfiguration finden Sie in der JavaScript TinkerPop Dokumentation.

Python-Client-Konfiguration

Für den Python-Gremlin-Client wird das Ping-Intervall normalerweise auf der Transportschicht verwaltet. Informationen zu den Konfigurationsoptionen finden Sie in der spezifischen Dokumentation zur Transportimplementierung:

from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection g = traversal().with_remote( DriverRemoteConnection('wss://your-neptune-endpoint:your-neptune-port/gremlin','g', transport_factory=lambda: AiohttpTransport(read_timeout=60, write_timeout=20, heartbeat=20, // Configure heartbeat call_from_event_loop=True, max_content_length=100*1024*1024, ssl_options=ssl.create_default_context(Purpose.CLIENT_AUTH))))

Weitere Informationen zur Python-Treiberkonfiguration finden Sie in der TinkerPop Python-Dokumentation.

Diese Konfiguration stellt sicher, dass Ihr Client bei Skalierungsereignissen mit Neptune Serverless die Verbindungsstabilität beibehält, wodurch unnötige Verbindungsabbrüche verhindert und die Anwendungszuverlässigkeit verbessert wird.