Docs Menu
Docs Home
/
Manual de MongoDB
/

Componentes de un clúster particionado

Un MongoDB El clúster fragmentado consta de los siguientes componentes:

  • partición: cada fragmento contiene un subconjunto de los datos particionados. Cada partición debe implementarse como un set de réplicas.

  • mongos: El mongos actúa como un enrutador de consultas y proporciona una interfaz entre las aplicaciones cliente y el clúster fragmentado. mongos puede admitir lecturas protegidas para minimizar las latencias.

  • servidores de configuración: los servidores de configuración almacenan metadatos y configuraciones para el clúster. Los servidores de configuración deben implementarse como un set de réplicas (CSRS).

En un clúster de producción, asegúrate de que los datos sean redundantes y que tus sistemas tengan alta disponibilidad. Ten en cuenta lo siguiente para una implementación de un clúster de producción particionado:

Siempre que sea posible, considere implementar un miembro de cada conjunto de réplicas en un sitio adecuado para ser una ubicación de recuperación ante desastres.

Nota

Distribuir los miembros del conjunto de réplicas entre dos centros de datos ofrece ventajas con respecto a un solo centro de datos. En una distribución entre dos centros de datos,

  • Si uno de los centros de datos falla, los datos siguen estando disponibles para lectura, a diferencia de una distribución de un solo centro de datos.

  • Si el centro de datos con una minoría de miembros deja de funcionar, el conjunto de réplicas aún puede realizar operaciones de escritura y de lectura.

  • Sin embargo, si el centro de datos con la mayoría de los miembros deja de funcionar, el conjunto de réplicas pasa a ser de solo lectura.

Si es posible, distribuya los miembros en al menos tres centros de datos. Para los conjuntos de réplicas de servidores de configuración (CSRS), la mejor práctica es distribuirlos en tres centros (o más, según el número de miembros). Si el costo del tercer centro de datos es prohibitivo, una posibilidad de distribución es distribuir equitativamente los miembros que contienen datos entre los dos centros y almacenar el miembro restante en la nube si la política de su empresa lo permite.

El particionado requiere al menos dos particiones para distribuir los datos particionados. Los clústeres particionados con una sola partición pueden ser útiles si planeas activar el particionado en un futuro cercano, pero no lo necesitas en el momento de la implementación.

Implementar varios mongos routers permite alta disponibilidad y escalabilidad. Si un proxy o balanceador de carga se encuentra entre la aplicación y los routers mongos, debes configurarlo para afinidad de cliente. La afinidad de cliente permite que cada conexión de un mismo cliente alcance mongos. Para alta disponibilidad a nivel de partición, un patrón común es colocar las instancias de mongos en el mismo hardware en que ya se ejecutan las instancias de mongod. Otra opción es integrar routers mongos con la infraestructura del nivel de aplicación.

No hay límite para la cantidad demongosenrutadores que puede tener en una implementación. Sin embargo, dado quemongosenrutadores se comunican frecuentemente con sus servidores de configuración, supervise de cerca el rendimiento de estos servidores a medida que aumenta la cantidad de enrutadores. Si observa una degradación del rendimiento, puede ser conveniente limitar la cantidad demongosenrutadores en su implementación.

El siguiente diagrama muestra una arquitectura común de clúster fragmentado utilizada en producción:

Diagrama que muestra un clúster fragmentado a nivel de producción que contiene múltiples fragmentos y enrutadores mongos.

Para las pruebas y el desarrollo, puedes implementar un clúster con un número mínimo de componentes. Estos clústeres no productivos tienen los siguientes componentes:

El siguiente diagrama muestra una arquitectura de clúster fragmentado utilizada solo para desarrollo:

Diagrama que muestra un clúster particionado de desarrollo que contiene un único fragmento y un router mongos.

Advertencia

Utiliza la arquitectura del clúster de prueba únicamente para pruebas y desarrollo.

Tip

Volver

particionado

En esta página