Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Pools de conexiones

Un mongocxx::client autónomo utiliza un algoritmo de un solo subproceso para supervisar el estado del clúster al que está conectado. Cuando se conecta a un set de réplicas, el hilo "detiene el mundo" cada 60 segundos para verificar el estado del clúster. Un mongocxx::pool, en cambio, utiliza un hilo de segundo plano separado para cada servidor en el clúster, cada uno de los cuales verifica el estado del servidor que supervisa cada 10 segundos. Debido a las ventajas de rendimiento de la supervisión del clúster en segundo plano en lugar de "detener el mundo", se recomienda encarecidamente usar un mongocxx::pool en lugar de un conjunto de clientes autónomos si tu aplicación tiene acceso a varios hilos, incluso si tu aplicación solo usa un hilo.

Un mongocxx::pool se puede compartir entre varios threads y utilizarse para crear clientes. Sin embargo, cada mongocxx::client solo puede usarse en un solo hilo. Consulte la documentación sobre seguridad de hilos para obtener detalles sobre cómo utilizar un mongocxx::client de manera segura entre hilos.

El número de clientes en un pool de conexiones está determinado por los parámetros URI minPoolSize y maxPoolSize. Las opciones minPoolSize y maxPoolSize establecen los objetivos de uso de recursos para cuando el driver está inactivo o completamente utilizado. Cuando se utiliza al máximo, están disponibles hasta maxPoolSize clientes. Cuando los clientes se devuelven al pool, se destruyen hasta que el pool se reduce de nuevo al minPoolSize.

maxPoolSize

El número máximo de clientes creados por un mongocxx::pool (tanto en el pool como revisados). El valor por defecto es 100. Una vez que se alcanza, mongocxx::pool::acquire se bloquea hasta que otro hilo devuelva un cliente al pool.

minPoolSize

Configura un tamaño objetivo para el pool cuando está inactivo. Una vez que se haya creado este número de clientes, nunca habrá menos de este número de clientes en el grupo. Si se crean clientes adicionales por encima de minPoolSize, se eliminarán cuando se devuelvan al grupo. El valor por defecto es "0", lo que desactiva esta funcionalidad. Cuando está deshabilitado, los clientes nunca se destruyen.

Para usar un pool de conexiones, primero cree un mongocxx::pool pasando el URI como argumento. Luego, llama a mongocxx::pool::acquire para recibir un cliente del pool. El cliente se devolverá automáticamente al grupo cuando quede fuera de alcance.

Consulte el ejemplo de pool de conexiones para más detalles.