View a markdown version of this page

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 bei 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 reagiert, schließt der Client die Verbindung automatisch.

Für von Neptune bereitgestellte Instanzen empfehlen wir, das Ping-Intervall auf 5 Sekunden einzustellen. Für Neptune Serverless-Cluster empfehlen wir, das Ping-Intervall auf mindestens 20 Sekunden einzustellen, um möglichen Verzögerungen bei Skalierungsvorgängen Rechnung zu tragen. Dieser Parameter steuert, wie lange der Client zwischen den 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 variiert je nach Client-Implementierung:

Konfiguration des Java-Clients

Konfigurieren Sie für den Java TinkerPop 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

Für den Gremlin Go-Client konfigurieren Sie 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

Für den JavaScript/Node.js Gremlin-Client konfigurieren Sie 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.

Konfiguration des Python-Clients

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 von Neptune Serverless die Verbindungsstabilität beibehält, wodurch unnötige Verbindungsabbrüche verhindert und die Zuverlässigkeit der Anwendung verbessert wird.