Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Supervisión del clúster

Esta guía te muestra cómo utilizar el driver de Rust para supervisar eventos de topología en una instancia de MongoDB, set de réplicas o clúster. El driver crea eventos de topología, también conocidos como eventos de Descubrimiento y Supervisión de Servidores (SDAM), cuando hay cambios en el estado de la instancia o el clúster al que está conectado.

Puedes usar información sobre cambios de topología en tu aplicación, o puedes supervisar los cambios en el clúster para obtener más información sobre cómo afectan a tu aplicación.

Esta guía incluye las siguientes secciones:

  • Descripciones de eventos describe los eventos SDAM que el controlador puede generar

  • Ejemplo de suscripción a eventos proporciona un código de muestra que muestra cómo suscribirse a un evento SDAM

  • Ejemplos de documentos de eventos proporciona muestras de cada evento SDAM

  • Información adicional proporciona enlaces a recursos y documentación de la API para los tipos y métodos mencionados en esta guía

Puedes suscribirte a uno o más de los siguientes eventos SDAM:

Nombre del Evento
Descripción

Se crea cuando cambia el estado de una instancia, como cuando un miembro de un conjunto de réplicas cambia de secundario a primario.

Se crea cuando se abre una conexión a una instancia, como un set de réplicas.

Se crea cuando se cierra una conexión con una instancia, como un miembro de un set de réplicas.

Se crea cuando la descripción de la topología cambia, como cuando hay una elección de un nuevo primario o cuando una mongos desconexiones de proxy.

Creado antes de que el controlador intente conectarse a una instancia.

Se crea después de que se cierren todas las conexiones de instancias en la topología.

Creado antes de que el driver ejecute un comando hello en una instancia.

Se crea cuando el comando hello se ejecuta correctamente en una instancia de MongoDB.

Se crea cuando un comando hello en una instancia de MongoDB no devuelve una respuesta exitosa.

Puedes acceder a uno o más eventos SDAM suscribiéndote a ellos en tu aplicación. El siguiente ejemplo se conecta a una implementación de MongoDB y se suscribe al tipo de evento ServerOpeningEvent:

struct ServerOpenHandler;
impl SdamEventHandler for ServerOpenHandler {
fn handle_server_opening_event(&self, event: ServerOpeningEvent) {
eprintln!("Server opening: {:?}", event);
}
}
let handler: Arc<dyn SdamEventHandler> = Arc::new(ServerOpenHandler);
client_options.sdam_event_handler = Some(handler);
let client = Client::with_options(client_options)?;
// ... perform actions with the client to generate events

Las siguientes secciones muestran la salida de ejemplo para cada tipo de evento SDAM.

ServerDescriptionChangedEvent {
address: ...,
topology_id: ...,
previous_description: ...,
new_description: ...,
}
ServerOpeningEvent {
address: ...,
topology_id: ...,
}
ServerClosedEvent {
address: ...,
topology_id: ...,
}
TopologyDescriptionChangedEvent {
topology_id: ...,
previous_description: ...,
new_description: ...,
}
TopologyOpeningEvent {
topology_id: ...,
}
TopologyClosedEvent {
topology_id: ...,
}
ServerHeartbeatStartedEvent {
server_address: ...,
awaited: false,
driver_connection_id: 12,
server_connection_id: ...,
}
ServerHeartbeatSucceededEvent {
duration: ...,
reply: ...,
server_address: ...,
awaited: false,
driver_connection_id: 12,
server_connection_id: ...,
}
ServerHeartbeatFailedEvent {
duration: ...,
failure: ...,
server_address: ...,
awaited: false,
driver_connection_id: 12,
server_connection_id: ...,
}

Para obtener más información sobre la supervisión de una implementación de MongoDB, consulte el artículo Cómo supervisar MongoDB.

Para obtener más información sobre cómo conectarse a MongoDB, consulte la Guía de conexión.

Para obtener más información sobre los métodos y tipos mencionados en esta guía, vea la siguiente documentación de la API:

Volver

Async & Sync APIs

En esta página