Um cluster fragmentado do MongoDB consiste nos seguintes componentes:
fragmento: cada fragmento contém um subconjunto dos dados fragmentados. Cada fragmento deve ser implantado como um conjunto de réplicas.
Roteamento com mongos: o
mongosatua como um roteador de query, fornecendo uma interface entre os aplicativos do cliente e o cluster fragmentado.servidores de configuração: os servidores de configuração armazenam metadados e definições de configuração para o cluster. Servidores de configuração devem ser implantados como um conjunto de réplicas (CSRS). Iniciando no MongoDB 8.0, você pode implantar o servidor de configuração como um shard de configuração que também armazena dados do aplicação .
Configuração de produção
Em um cluster de produção, certifique-se de que os dados sejam redundantes e que seus sistemas estejam altamente disponíveis. Considere o seguinte ao implantar um cluster fragmentado de produção:
Distribuir servidores de configuração como um conjunto de réplicasde 3 nós
Implante cada shard como um conjunto de réplicas de três membros
Distribua um ou mais roteadores
mongos
Distribuição do conjunto de réplicas
Para sistemas de produção, recomendamos implementar conjuntos de réplicas de shard e servidor de configuração em pelo menos três data centers. Essa configuração fornece alta disponibilidade caso um único centro de dados fique inativo.
Número de shards
A fragmentação exige pelo menos dois shards para distribuir os dados fragmentados. Clusters fragmentados de shard único podem ser úteis se você planeja habilitar uma fragmentação em um futuro próximo, mas não precisa fazê-lo no momento da implementação.
Número de mongos e distribuição
Os roteadores mongos suportam alta disponibilidade e escalabilidade ao implantar várias instâncias mongos. Se um proxy ou balancer de carga estiver entre o aplicativo e os roteadores mongos, você deve configurá-lo para afinidade do cliente. A afinidade do cliente permite que cada conexão de um único cliente alcance o mesmo mongos. Para alta disponibilidade de shard:
Adicione instâncias
mongosno mesmo hardware em que instânciasmongodjá estão em execução.Incorpore roteadores
mongosno mesmo hardware em que o aplicação está hospedado.
mongos roteadores se comunicam frequentemente com seus servidores de configuração . À medida que você aumenta o número de roteadores, o desempenho pode se degradar. Se o desempenho se degradar, reduza o número de roteadores.
O diagrama a seguir mostra uma arquitetura de cluster fragmentada comum usada na produção:

Config Shards
Novidades na versão 8.0.
A partir do MongoDB 8.0, você pode implantar o servidor de configuração como um shard de configuração que armazena dados do aplicação , além de metadados do cluster. Um shard de configuração exige menos nós do que um sistema de servidor de configuração dedicado. Para mais informações, consulte Config Shards.
O diagrama a seguir mostra uma arquitetura de cluster fragmentado que usa um fragmento de configuração incorporado:
Configuração de desenvolvimento
Para teste e desenvolvimento, você pode implantar um cluster fragmentado com um número mínimo de componentes. Esses clusters que não são de produção têm os seguintes componentes:
Uma instância
mongos.Um único conjunto de réplicas de shard.
Um servidor de configuração do conjunto de réplicas.
O diagrama a seguir mostra uma arquitetura de cluster fragmentado usada somente para desenvolvimento:

A partir do MongoDB 8.0, você pode implantar um shard de configuração para teste e desenvolvimento. Esse cluster que não é de produção tem os seguintes componentes:
Uma instância
mongos.Um único shard de configuração.
Aviso
Use a arquitetura de cluster de teste apenas para teste e desenvolvimento.