Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configuration Heartbeat pour Neptune Serverless
Lorsque vous utilisez des WebSocket clients G705 avec Neptune Serverless, vous devez configurer l'intervalle de ping du client de manière appropriée afin de maintenir des connexions stables pendant les événements de dimensionnement. Le client G705 utilise des WebSocket connexions et envoie des pings périodiques pour vérifier que la connexion est active. Le client attend une réponse du serveur dans le délai imparti pour le ping. Si le serveur ne répond pas, le client ferme automatiquement la connexion.
Pour les instances provisionnées par Neptune, nous recommandons de définir l'intervalle ping sur 5 secondes. Pour les clusters Neptune Serverless, nous recommandons de définir l'intervalle ping sur au moins 20 secondes afin de tenir compte des retards potentiels lors des opérations de dimensionnement. Ce paramètre contrôle la durée pendant laquelle le client attend entre deux écritures sur le serveur avant d'envoyer un ping pour vérifier que la connexion est toujours active.
La configuration de ce paramètre varie en fonction de l'implémentation du client :
Configuration du client Java
Pour le client Java TinkerPop G705, configurez le keepAliveInterval paramètre :
Cluster.Builder builder = Cluster.build() .addContactPoint(endpoint) .keepAliveInterval(20000); // Configure ping interval in milliseconds
Pour plus de détails sur la configuration du pilote Java, consultez la TinkerPop documentation Java
Configuration du client Go
Pour le client G705 Go, configurez le KeepAliveInterval paramètre :
rc, err := driver.NewDriverRemoteConnection(endpoint, func(settings *driver.DriverRemoteConnectionSettings) { settings.TraversalSource = "g" settings.AuthInfo = auth settings.KeepAliveInterval = 20 * time.Second // Configure ping interval ... })
Pour plus de détails sur la configuration du pilote Go, consultez la TinkerPop documentation Go
JavaScriptConfiguration du client /Node.js
Pour le client JavaScript /Node.js G705, configurez le pingInterval paramètre :
const gremlin = require('gremlin'); const DriverRemoteConnection = gremlin.driver.DriverRemoteConnection; const connection = new DriverRemoteConnection(endpoint, { traversalSource: 'g', pingInterval: 20000 // Configure ping interval in milliseconds });
Pour plus de détails sur la configuration du JavaScript pilote, reportez-vous à la JavaScript TinkerPop documentation
Configuration du client Python
Pour le client Python Gremlin, l'intervalle ping est généralement géré au niveau de la couche de transport. Consultez la documentation spécifique de mise en œuvre du transport pour connaître les options de configuration :
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))))
Pour plus de détails sur la configuration du pilote Python, consultez la TinkerPop documentation Python
Cette configuration garantit à votre client la stabilité de la connexion lors des événements de dimensionnement Neptune Serverless, en évitant les fermetures de connexion inutiles et en améliorant la fiabilité des applications.