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 utilizar WebSocket clientes Gremlin con Neptune Serverless, debe configurar el intervalo de ping del cliente de forma adecuada para mantener conexiones estables durante los eventos de escalado. El cliente Gremlin utiliza WebSocket las conexiones y envía pings periódicos para comprobar 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. Para los clústeres Neptune Serverless, recomendamos establecer el intervalo de ping en al menos 20 segundos para adaptarse a posibles retrasos durante las operaciones de escalado. Este parámetro controla el tiempo que el cliente espera entre 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 del cliente Go
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
JavaScriptConfiguración del cliente de /Node.js
Para el cliente Gremlin de JavaScript /Node.js, 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 });
Configuración del cliente Python
Para el cliente Python Gremlin, el intervalo de ping normalmente se gestiona en la capa de transporte. Consulte la documentación específica de implementación del transporte para ver 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 su 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.