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 pool de conexiones

Esta guía te muestra cómo usar el driver de Rust para supervisar el pool de conexiones del driver. Un pool de conexiones es un conjunto de conexiones abiertas de Protocolo de control de transmisión (TCP) que tu driver mantiene con una instancia de MongoDB. El pool de conexiones ayuda a reducir la cantidad de nuevas conexiones que tu aplicación necesita crear, lo que posiblemente haga que tu aplicación funcione más rápido.

Puedes utilizar la información sobre los cambios en tu pool de conexiones en tu aplicación, o puedes supervisar el pool de conexiones para aprender más sobre cómo el driver utiliza las conexiones.

Esta guía incluye las siguientes secciones:

  • Descripciones de eventos describe los eventos del pool de conexiones que el driver puede generar

  • Ejemplo de suscripción a eventos proporciona un código de ejemplo que muestra cómo suscribirse a un evento de un pool de conexiones.

  • Ejemplo de documentos de eventos proporciona muestras de cada evento de pool de conexiones.

  • 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 suscribirse a uno o más de los siguientes eventos de supervisión del pool de conexiones:

Nombre del Evento
Descripción

Se crea cuando se crea un pool de conexiones.

Se crea cuando un pool de conexiones está listo.

Se creó al borrar un pool de conexiones.

Se crea cuando se cierra un pool de conexiones, antes de la destrucción de la instancia del servidor.

Se crea cuando se establece una conexión, pero no necesariamente cuando se utiliza para una operación.

Se crea después de que una conexión completa correctamente un apretón de manos y está lista para ser utilizada en operaciones.

Se crea cuando se cierra una conexión.

Se crea cuando una operación intenta adquirir una conexión para su ejecución.

Se crea cuando una operación no puede adquirir una conexión para ejecutarse.

Se crea cuando una operación obtiene con éxito una conexión para su ejecución.

Se crea cuando una conexión se revisa de nuevo en el pool después de ejecutar una operación.

Puede acceder a uno o más eventos de pool de conexiones suscribiéndose a ellos en su aplicación. El siguiente ejemplo se conecta a una implementación de MongoDB y se suscribe al ConnectionCreatedEvent tipo de evento:

struct ConnectionCreatedHandler;
impl CmapEventHandler for ConnectionCreatedHandler {
fn handle_connection_created_event(&self, event: ConnectionCreatedEvent) {
eprintln!("Connection created: {:?}", event);
}
}
let handler: Arc<dyn CmapEventHandler> = Arc::new(ConnectionCreatedHandler);
client_options.cmap_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 muestra para cada tipo de evento de supervisión del pool de conexiones.

PoolCreatedEvent {
address: ...,
options: {...}
}
PoolReadyEvent {
address: ...
}
PoolClearedEvent {
address: ...,
service_id: ...,
}
PoolClosedEvent {
address: ...
}
ConnectionCreatedEvent {
address: ...,
connection_id: 1
}
ConnectionReadyEvent {
address: ...,
connection_id: 1
}
ConnectionClosedEvent {
address: ...,
connection_id: 1,
reason: ...,
/* private fields */
}
ConnectionCheckOutStartedEvent {
address: ...,
}
ConnectionCheckOutFailedEvent {
address: ...,
reason: ...,
/* private fields */
}
ConnectionCheckedOutEvent {
address: ...,
connection_id: 1
}
ConnectionCheckedInEvent {
address: ...,
connection_id: 1
}

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 cómo mejorar el rendimiento de la aplicación, consulta la guía sobre consideraciones sobre rendimiento.

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

Supervisión de comandos

En esta página