Overview
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
Descripciones de eventos
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. |
Ejemplo de suscripción a eventos
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
Documentos de eventos de ejemplo
Las siguientes secciones muestran la salida de muestra para cada tipo de evento de supervisión del pool de conexiones.
Evento deCreación de Pool
PoolCreatedEvent { address: ..., options: {...} }
EventoPoolListo
PoolReadyEvent { address: ... }
PoolClearedEvent
PoolClearedEvent { address: ..., service_id: ..., }
PoolClosedEvent
PoolClosedEvent { address: ... }
ConnectionCreatedEvent
ConnectionCreatedEvent { address: ..., connection_id: 1 }
ConnectionReadyEvent
ConnectionReadyEvent { address: ..., connection_id: 1 }
ConnectionClosedEvent
ConnectionClosedEvent { address: ..., connection_id: 1, reason: ..., /* private fields */ }
ConnectionCheckOutStartedEvent
ConnectionCheckOutStartedEvent { address: ..., }
ConnectionCheckoutFailedEvent
ConnectionCheckOutFailedEvent { address: ..., reason: ..., /* private fields */ }
ConnectionCheckedOutEvent
ConnectionCheckedOutEvent { address: ..., connection_id: 1 }
ConnectionCheckedInEvent
ConnectionCheckedInEvent { address: ..., connection_id: 1 }
Información Adicional
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.
Documentación de la API
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: