

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
<a name="best-practices-gremlin-heartbeat-serverless"></a>

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 ](https://tinkerpop.apache.org/docs/current/reference/#gremlin-java-configuration).

**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 ](https://tinkerpop.apache.org/docs/current/reference/#gremlin-go-configuration).

**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
});
```

[Para obtener más información sobre la configuración JavaScript del controlador, consulte la JavaScript TinkerPop documentación.](https://tinkerpop.apache.org/docs/current/reference/#gremlin-javascript-configuration)

**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](https://tinkerpop.apache.org/docs/current/reference/#gremlin-python-configuration).

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.