Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configuración de Heartbeat para Neptune Serverless
Al usar WebSocket clientes Gremlin con Neptune Serverless, es necesario configurar el intervalo de ping del cliente de forma adecuada para mantener conexiones estables durante los eventos de escalado. El cliente Gremlin usa WebSocket conexiones y envía pings periódicos para verificar que la conexión esté activa. El cliente espera una respuesta del servidor dentro del intervalo de ping. Si el servidor no responde, el cliente cierra automáticamente la conexión.
Para las instancias aprovisionadas por Neptune, recomendamos establecer el intervalo de ping en 5 segundos. En el caso de los clústeres sin servidor de Neptune, recomendamos establecer el intervalo de ping en al menos 20 segundos para adaptarse a los posibles retrasos durante las operaciones de escalado. Este parámetro controla el tiempo que el cliente espera entre las escrituras en el servidor antes de enviar un ping para comprobar que la conexión sigue activa.
La configuración de este parámetro varía en función de la implementación del cliente:
Configuración del cliente Java
Para el cliente Java TinkerPop Gremlin, configure el keepAliveInterval parámetro:
Cluster.Builder builder = Cluster.build() .addContactPoint(endpoint) .keepAliveInterval(20000); // Configure ping interval in milliseconds
Para obtener más información sobre la configuración del controlador de Java, consulte la documentación de Java TinkerPop .
Configuración de Go Client
Para el cliente Gremlin Go, configure el KeepAliveInterval parámetro:
rc, err := driver.NewDriverRemoteConnection(endpoint, func(settings *driver.DriverRemoteConnectionSettings) { settings.TraversalSource = "g" settings.AuthInfo = auth settings.KeepAliveInterval = 20 * time.Second // Configure ping interval ... })
Para obtener más información sobre la configuración del controlador Go, consulte la documentación de Go TinkerPop .
JavaScript/Node.js Configuración del cliente
Para el cliente JavaScript/Node.js Gremlin, configure el pingInterval parámetro:
const gremlin = require('gremlin'); const DriverRemoteConnection = gremlin.driver.DriverRemoteConnection; const connection = new DriverRemoteConnection(endpoint, { traversalSource: 'g', pingInterval: 20000 // Configure ping interval in milliseconds });
Para obtener más información sobre la configuración JavaScript del controlador, consulte la JavaScript TinkerPop documentación.
Configuración del cliente Python
Para el cliente Python Gremlin, el intervalo de ping normalmente se administra en la capa de transporte. Consulte la documentación específica de implementación del transporte para conocer las opciones de configuración:
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))))
Para obtener más información sobre la configuración del controlador de Python, consulte la TinkerPop documentación de Python
Esta configuración garantiza que el cliente mantenga la estabilidad de la conexión durante los eventos de escalado de Neptune Serverless, lo que evita cierres de conexión innecesarios y mejora la confiabilidad de las aplicaciones.