Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo explica as informações de pré-requisito necessárias para implantar um cluster do MongoDB no AKS (Serviço de Kubernetes do Azure). Ele também traz uma visão geral da estratégia de implantação.
Importante
O software de código aberto é mencionado em toda a documentação e amostras do AKS. O software que você implanta está excluído dos contratos de nível de serviço do AKS, garantia limitada e suporte do Azure. Ao usar tecnologia de código aberto junto com o AKS, consulte as opções de suporte disponíveis nas comunidades e mantenedores de projetos respectivos para desenvolver um plano.
A Microsoft assume a responsabilidade por criar os pacotes de código aberto que implantamos no AKS. Essa responsabilidade inclui ter propriedade completa do processo de criação, verificação, sinalização, validação e hotfix, junto com o controle sobre os binários em imagens de contêiner. Para obter mais informações, confira Gerenciamento de vulnerabilidades para o AKS e Cobertura de suporte do AKS.
O que é o MongoDB?
O MongoDB é um sistema de gerenciamento de banco de dados NoSQL popular que foi projetado para lidar com grandes volumes de dados não estruturados. Ao contrário dos bancos de dados relacionais tradicionais que usam tabelas e linhas, o MongoDB usa uma abordagem flexível orientada a documentos.
Observação
O MongoDB Community Edition não é um software de código aberto. Ele é licenciado sob a Licença Pública do Lado do Servidor com "origem disponível".
Cluster fragmentado do MongoDB
Um cluster fragmentado do MongoDB lida com conjuntos de dados grandes e alta taxa de transferência distribuindo os dados entre vários servidores ou fragmentos. Essa arquitetura permite a escala horizontal, que é essencial para aplicativos com necessidades de desempenho e dados cada vez maiores.
Aqui está um detalhamento dos principais componentes e de como ele funciona:
- Fragmentos: instâncias individuais do MongoDB chamadas fragmentos contêm subconjuntos dos dados. Cada fragmento é um conjunto de réplicas ou um grupo de instâncias do MongoDB que replicam dados entre si. Os conjuntos de réplicas ajudam a garantir a alta disponibilidade e a tolerância a falhas.
- Servidores de configuração: os servidores que armazenam metadados e as configurações do cluster fragmentado são chamados de servidores de configuração. Eles acompanham as informações de distribuição e roteamento de dados do cluster. Um cluster normalmente tem três servidores de configuração para fornecer redundância.
- Instâncias do Mongos: o Mongos é um serviço de roteamento que direciona as solicitações do cliente para o fragmento apropriado. Ele funciona como um intermediário entre o cliente e os fragmentos. Uma instância do Mongos gerencia o roteamento de consulta e agrega resultados de fragmentos.
- Chave de fragmento: quando os dados são distribuídos entre fragmentos, eles são baseados em uma chave de fragmento, que é um único campo indexado ou vários campos nos documentos. A chave de fragmento determina como os dados são particionados entre os fragmentos. Uma chave de fragmento bem escolhida ajuda a garantir a distribuição de dados e a consulta eficiente.
- Distribuição de dados: os dados são distribuídos entre fragmentos com base na chave de fragmento. Essa distribuição ajuda a balancear a carga e gerenciar os conjuntos de dados grandes com eficiência. O MongoDB usa uma estratégia de fragmentação baseada em intervalo ou baseada em hash, dependendo da chave de fragmento.
- Alta disponibilidade: cada fragmento é um conjunto de réplicas, o que significa que ele replica os respectivos dados em vários nós. Essa configuração garante que os dados permaneçam disponíveis mesmo se um ou mais nós falharem.
Percona Operator para MongoDB
O Percona Operator para MongoDB é uma ferramenta de código aberto desenvolvida pela Percona. Ele automatiza a implantação, o gerenciamento e a escala de clusters do MongoDB em ambientes do Kubernetes. Além disso, simplifica as operações processando tarefas como provisionamento, escala, backup e recuperação. O processamento que ele faz de todas essas tarefas ajuda a garantir a alta disponibilidade e desempenho dos clusters do MongoDB.
O operador usa CRDs (definições de recursos personalizados) do Kubernetes para gerenciar as configurações do MongoDB por meio de declarações e cuidar dos failovers, do monitoramento e dos alertas. O resultado é uma sobrecarga administrativa reduzida e práticas de gerenciamento consistentes. O Percona Operator aprimora a eficiência e a confiabilidade das implantações do MongoDB, especialmente em aplicativos nativos de nuvem. É ideal para cenários de desenvolvimento, teste e produção.
Visão geral da solução do MongoDB
A meta da solução proposta é:
- Verificar se o cluster do MongoDB pode lidar efetivamente com conjuntos de dados grandes e operações de alta taxa de transferência.
- Manter a alta disponibilidade e a tolerância a falhas.
A solução atinge essa meta usando conjuntos de réplicas, regras anti-afinidade e alocação de recursos adequada.
Estratégia de implantação
A estratégia de implantação do MongoDB consiste nos seguintes componentes:
- Um cluster fragmentado para habilitar a distribuição de dados em vários fragmentos, melhorando a escalabilidade e o desempenho.
- Servidores de configuração gerenciados por um conjunto de réplicas de três membros, para ajudar a garantir a tolerância a falhas e a alta disponibilidade. As regras antiafinidade distribuem esses servidores entre domínios de falha.
- Três instâncias do Mongos distribuídas entre zonas de disponibilidade e expostas internamente dentro do cluster. Elas fornecem balanceamento de carga e resiliência para rotear solicitações de cliente.
Colaboradores
A Microsoft atualiza este artigo. Os seguintes colaboradores o escreveram originalmente:
- Ketan Chawda | Engenheiro de Clientes Sênior
- Naveed Kharadi | Engenheiro de Experiência do Cliente
- Nelly Kiboi | Engenheiro de Serviços
- Saverio Proto | Engenheiro de Experiência do Cliente Principal
- Don High | Engenheiro de Cliente Principal
- LaBrina Loving | Engenheira de Serviço principal
- Ken Kilty | Diretor de TPM
- Russell de Pina | Diretor de TPM
- Colin Mixon | Gerente de Produto
- Erin Schaffer | Desenvolvedora de Conteúdo 2
- Carol Smith | Desenvolvedora sênior de conteúdo