Al diseñar sistemas MongoDB que utilizan MongoDB Search y MongoDB Vector Search, hay dos tipos de implementación comunes:
Una arquitectura co-ubicada donde
mongodLos procesosmongoty comparten el mismo host. Esta arquitectura es adecuada para desarrollo y cargas de trabajo de búsqueda pequeñas o vectoriales.Un modelo de infraestructura dedicada donde los procesos
mongodymongotse ejecutan en máquinas independientes, cada una dimensionada según las necesidades de cada carga de trabajo. Esta infraestructura se recomienda para aplicaciones que exigen alta disponibilidad, fragmentación o cargas de trabajo de búsqueda o vectorización importantes con consultas de búsqueda e indexación intensivas.
Esta sección describe ambos tipos de implementación. También describe las implicaciones de implementar mongot en clústeres fragmentados de MongoDB.
Arquitectura co-ubicada
Esta es la arquitectura más sencilla, recomendada para entornos de desarrollo o cualquier situación que requiera iteraciones rápidas. Destaca en la creación rápida de prototipos y requiere la mínima configuración.
La implementación consiste en una sola máquina que ejecuta los procesos mongod y mongot. Toda la comunicación puede realizarse a través de localhost direcciones, y todas las funciones de autenticación y seguridad pueden deshabilitarse o hacerse más permisivas.
Para la mayoría de las cargas de trabajo de búsqueda pequeñas, puede ampliar esta arquitectura a un conjunto de réplicas multinodo. Tenga cuidado al implementar una arquitectura coubicada y esté atento a posibles indicios de contención de recursos.

Infraestructura dedicada
Esta es una arquitectura de propósito general, recomendada para entornos de producción. La infraestructura dedicada permite la escalabilidad horizontal y vertical de los nodos de base de datos y de búsqueda.
La implementación consta de al menos tres máquinas que ejecutan mongod en una configuración de conjunto de réplicas y al menos dos máquinas que ejecutan mongot. Para proporcionar alta disponibilidad al consultar la búsqueda, los nodos mongod requieren un balanceador de carga a nivel de aplicación. Considere un balanceador de carga como Envoy y utilice una estrategia de balanceo de carga como la operación por turnos por solicitud.
No se requiere equilibrio de carga en la dirección opuesta. mongot elige automáticamente un nodo mongod con el cual comunicarse para la replicación de datos y los datos del catálogo de índice en función de su configuración.

Topología fragmentada
Esta arquitectura es similar a la arquitectura de infraestructura dedicada, pero la configuración del conjunto de réplicas se duplica en cada fragmento individual.
Nota
Si bien solo debe configurar mongot para replicar desde un fragmento, mongot aún requiere que la dirección del enrutador esté configurada para acceder al catálogo de índice.
Con la arquitectura de topología fragmentada, mongot solo pertenece a un fragmento a la vez. Por lo tanto, los balanceadores de carga dentro de cada fragmento deben configurarse para dirigir el tráfico únicamente a ese fragmento individual.
Si añade fragmentos a una colección con un índice de MongoDB Search, se produce una sincronización inicial en los fragmentos recién añadidos para ese índice. El índice de MongoDB Search de cada fragmento contiene únicamente los documentos de la colección que existen en él. Para obtener más información, consulte Fragmentar una colección global.
Advertencia
Si fragmenta una colección que ya tiene un índice de búsqueda MongoDB, es posible que experimente un período de inactividad en las consultas de búsqueda mientras el índice se construye en los nuevos fragmentos.
Además, si agrega un fragmento a una colección ya fragmentada que contiene un índice de MongoDB Search, las consultas de búsqueda en esa colección fallarán hasta que se complete el proceso de sincronización inicial en los fragmentos agregados. Para obtener más información, consulte la sección "Solución de problemas de sincronización inicial".
