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
/
Manual de MongoDB
/

Componentes de un clúster particionado

Un MongoDB Un clúster particionado consiste en 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 sets de réplicas entre dos centros de datos ofrece ventajas frente a utilizar un solo centro de datos. En una distribución de dos centros de datos,

  • Si uno de los centros de datos se cae, los datos todavía están disponibles para lectura, a diferencia de una distribución en 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 se cae el centro de datos con la mayoría de los miembros, el set de réplicas se vuelve de solo lectura.

Si es posible, distribuir los nodos en al menos tres data centers. Para los conjuntos de réplicas del servidor de configuración (CSRS), las mejores prácticas es distribuirlos entre tres centros (o más, dependiendo del número de nodos). Si el coste del tercer centro de datos es prohibitivo, una posibilidad de distribución consiste en repartir uniformemente los nodos portadores de datos entre los dos centros de datos y almacenar el nodo 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 de routers mongos que puedes tener en una implementación. Sin embargo, dado que los routers mongos se comunican con frecuencia con tus servidores de configuración, supervisa de cerca el rendimiento del servidor de configuración a medida que aumentas el número de routers. Si observa una degradación del rendimiento, puede ser útil limitar el número de mongos routers 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