Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo apresenta informações de pré-requisito para implantar um cluster MongoDB no Serviço Kubernetes do Azure (AKS). Ele também fornece 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 é excluído dos contratos de nível de serviço do AKS, da garantia limitada e do suporte do Azure. Ao usar a tecnologia de código aberto ao lado do AKS, consulte as opções de suporte disponíveis nas respetivas comunidades e mantenedores do projeto para desenvolver um plano.
A Microsoft assume a responsabilidade pela criação dos pacotes de código aberto que implantamos no AKS. Essa responsabilidade inclui ter a propriedade completa do processo de compilação, digitalização, assinatura, validação e hotfix, juntamente com o controle sobre os binários em imagens de contêiner. Para obter mais informações, consulte Gerenciamento de vulnerabilidades para cobertura de suporte AKS e AKS.
O que é MongoDB?
MongoDB é um popular sistema de gerenciamento de banco de dados NoSQL que é 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 e orientada a documentos.
Nota
MongoDB Community Edition não é software de código aberto. É licenciado sob a Licença Pública do Lado do Servidor com "fonte disponível".
Cluster fragmentado MongoDB
Um cluster fragmentado do MongoDB lida com grandes conjuntos de dados e alta taxa de transferência distribuindo dados em vários servidores ou fragmentos. Essa arquitetura permite o dimensionamento horizontal, que é essencial para aplicativos que têm necessidades crescentes de dados e desempenho.
Aqui está um detalhamento de seus principais componentes e 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 alta disponibilidade e tolerância a falhas.
- Servidores de configuração: Os servidores que armazenam metadados e definições de configuração para o cluster fragmentado são chamados de servidores de configuração. Eles acompanham a distribuição de dados e as informações de roteamento do cluster. Um cluster normalmente tem três servidores de configuração para fornecer redundância.
- Instâncias Mongos: Mongos é um serviço de roteamento que direciona as solicitações do cliente para o fragmento apropriado. Atua como intermediário entre o cliente e os fragmentos. Uma instância do Mongos gerencia o roteamento de consultas e agrega resultados de fragmentos.
- Chave de estilhaço: quando os dados são distribuídos entre fragmentos, eles são baseados em uma chave de estilhaço, que é um único campo indexado ou vários campos nos documentos. A chave de estilhaço determina como os dados são particionados entre os fragmentos. Uma chave de fragmento bem escolhida ajuda a garantir uma distribuição uniforme dos dados e consultas eficientes.
- Distribuição de dados: os dados são distribuídos entre fragmentos com base na chave de estilhaço. Essa distribuição ajuda a equilibrar a carga e gerenciar grandes conjuntos de dados de forma eficaz. O MongoDB usa uma estratégia de fragmentação baseada em intervalo ou hash , dependendo da chave de estilhaço.
- Alta disponibilidade: cada fragmento é um conjunto de réplicas, o que significa que ele replica seus 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.
Operador Percona para MongoDB
O Percona Operator for MongoDB é uma ferramenta de código aberto que a Percona desenvolveu. Ele automatiza a implantação, o gerenciamento e o dimensionamento de clusters MongoDB em ambientes Kubernetes. Ele simplifica as operações manipulando tarefas como provisionamento, dimensionamento, backup e recuperação. Sua manipulação de todas essas tarefas ajuda a garantir alta disponibilidade e desempenho dos clusters MongoDB.
O operador usa definições de recursos personalizados (CRDs) do Kubernetes para gerenciar configurações do MongoDB declarativamente e para lidar com failovers, monitoramento e alertas. O resultado é uma redução das despesas gerais administrativas e práticas de gestão consistentes. O Percona Operator aumenta a eficiência e a confiabilidade das implantações do MongoDB, particularmente em aplicativos nativos da nuvem. É ideal para cenários de desenvolvimento, teste e produção.
Visão geral da solução MongoDB
O objetivo da solução proposta é:
- Certifique-se de que o cluster MongoDB possa lidar efetivamente com grandes conjuntos de dados e operações de alta taxa de transferência.
- Mantenha alta disponibilidade e tolerância a falhas.
A solução atinge esse objetivo usando conjuntos de réplicas, regras de antiafinidade e alocação adequada de recursos.
Estratégia de implantação
A estratégia de implantação do MongoDB consiste nos seguintes componentes:
- Um cluster fragmentado para permitir a distribuição de dados entre 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 tolerância a falhas e alta disponibilidade. As regras de antiafinidade distribuem esses servidores entre domínios de falha.
- Três instâncias Mongos distribuídas entre zonas de disponibilidade e expostas internamente no cluster. Eles fornecem balanceamento de carga e resiliência para rotear solicitações de clientes.
Contribuidores
A Microsoft mantém este artigo. Os seguintes colaboradores escreveram-no originalmente:
- Ketan Chawda - Brasil | Engenheiro de Clientes Sênior
- Naveed Kharadi - Brasil | Engenheiro de Experiência do Cliente
- Nelly Kiboi - Brasil | Engenheiro de Serviços
- Saverio Proto - Brasil | Engenheiro Principal de Experiência do Cliente
- Don Alto | Engenheiro de Clientes Principal
- LaBrina Amar | Engenheiro de Serviços Principal
- Ken Kilty - Brasil | Principal TPM
- Russell de Pina - Brasil | Principal TPM
- Colin Mixon - Brasil | Gerente de Produto
- Erin Schaffer - Brasil | Desenvolvedor de Conteúdo 2
- Carol Smith - Brasil | Desenvolvedor de Conteúdo Sênior