Overview
Esta guía le muestra cómo usar el controlador de Rust para supervisar su grupo de conexiones. Un grupo de conexiones es un conjunto de conexiones abiertas del Protocolo de Control de Transmisión (TCP) que su controlador mantiene con una instancia de MongoDB. Los grupos de conexiones ayudan a reducir la cantidad de conexiones nuevas que su aplicación necesita crear, lo que podría acelerar su ejecución.
Puede utilizar información sobre los cambios en su grupo de conexiones en su aplicación, o puede supervisar el grupo de conexiones para obtener más información sobre cómo el controlador utiliza las conexiones.
Esta guía incluye las siguientes secciones:
Descripciones de eventos describen los eventos del grupo de conexiones que el controlador puede generar.
Ejemplo de Suscripción a Eventos proporciona un código de ejemplo que muestra cómo suscribirse a eventos del pool de conexiones.
Losdocumentos de eventos de ejemplo proporcionan muestras de cada evento del grupo de conexiones.
Información adicional proporciona enlaces a recursos y documentación de API para los tipos y métodos mencionados en esta guía.
Descripciones de eventos
Puede supervisar los siguientes eventos del grupo de conexiones:
Nombre del evento | Descripción |
|---|---|
Se crea cuando se crea un grupo de conexiones. | |
Se crea cuando un grupo de conexiones está listo. | |
Se crea cuando se borra un grupo de conexiones. | |
Se crea cuando se cierra un grupo de conexiones, antes de la destrucción de la instancia del servidor. | |
Se crea cuando se crea una conexión, pero no necesariamente cuando se utiliza para una operación. | |
Se crea después de que una conexión completa con éxito un protocolo de enlace y está lista para usarse 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 su ejecución. | |
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 monitoreo de eventos
Puede supervisar los eventos del grupo de conexiones asignando un EventHandler Instancia como el valor de la opción de cliente cmap_event_handler. Para construir un EventHandler que procese todos los eventos del pool de conexiones, utilice el método callback() o async_callback().
El siguiente ejemplo se conecta a una implementación de MongoDB, le indica al cliente que monitoree los eventos del grupo de conexiones e imprime cada evento:
let mut client_options = ClientOptions::parse("<connection string>").await?; client_options.cmap_event_handler = Some(EventHandler::callback(|ev| println!("{:?}", ev))); let client = Client::with_options(client_options)?; // ... perform actions with the client to generate events
Documentos de eventos de ejemplo
Las siguientes secciones muestran una salida de muestra para cada tipo de evento de monitoreo de grupo de conexiones.
Evento creado en grupo
PoolCreatedEvent { address: ..., options: {...} }
Evento PoolReady
PoolReadyEvent { address: ... }
PoolClearedEvent
PoolClearedEvent { address: ..., service_id: ..., }
Evento de piscina cerrada
PoolClosedEvent { address: ... }
ConnectionCreatedEvent
ConnectionCreatedEvent { address: ..., connection_id: 1 }
Evento de conexión lista
ConnectionReadyEvent { address: ..., connection_id: 1 }
Evento de conexión cerrada
ConnectionClosedEvent { address: ..., connection_id: 1, reason: ..., /* private fields */ }
Evento de inicio de verificación de conexión
ConnectionCheckOutStartedEvent { address: ..., }
ConnectionCheckoutFailedEvent
ConnectionCheckOutFailedEvent { address: ..., reason: ..., /* private fields */ }
Evento de conexión verificada
ConnectionCheckedOutEvent { address: ..., connection_id: 1 }
Evento de conexión verificada
ConnectionCheckedInEvent { address: ..., connection_id: 1 }
Información Adicional
Para obtener más información sobre cómo monitorear una implementación de MongoDB, consulte el artículo Cómo monitorear MongoDB.
Para obtener más información sobre cómo conectarse a MongoDB, consulte Guía de conexión.
Para obtener más información sobre cómo mejorar el rendimiento de su aplicación, consulte la guía sobre Consideraciones de rendimiento.
Documentación de la API
Para obtener más información sobre los métodos y tipos mencionados en esta guía, consulte la siguiente documentación de API: