Reinicie uma instância, um componente ou um nó do ApsaraDB for MongoDB para limpar limites de conexão ou resolver problemas de desempenho. Como todas as conexões ativas são encerradas durante a reinicialização, configure sua aplicação para reconexão automática antes de prosseguir.
Limitações
É possível reiniciar componentes apenas em instâncias de cluster com shards.
A reinicialização de nós está disponível somente para instâncias com discos em nuvem.
Entenda o impacto antes de reiniciar
Analise o comportamento esperado para o escopo da reinicialização antes de iniciar o processo.
Comportamento ao reiniciar a instância
|
Tipo de instância |
O que acontece |
Observação sobre desempenho |
|
Replica set |
Todas as conexões ativas são encerradas. As funções dos nós (primário/secundário) podem mudar. Os processos geralmente reiniciam em até 30 segundos. |
Se a instância tiver mais de 10.000 coleções, o processo mongod pode levar vários minutos para iniciar. Mantenha o número de coleções em 10.000 ou menos. Consulte a documentação oficial do MongoDB para obter orientações sobre design de esquema. |
|
Cluster com shards |
Os nós de shard reiniciam primeiro (as conexões do cliente não são encerradas, mas operações de escrita podem falhar). Em seguida, os nós do Config Server reiniciam (sem impacto no serviço). Por fim, os nós Mongos reiniciam e encerram todas as conexões. Os processos mongod e mongos normalmente reiniciam em até 30 segundos. |
O mesmo limite de 10.000 coleções aplica-se aos processos mongod nos nós de shard. |
Comportamento ao reiniciar componentes (apenas cluster com shards)
|
Componente |
Comportamento da conexão |
Operações de escrita |
|
Mongos |
Todas as conexões com o nó Mongos são encerradas. Configure sua aplicação para reconexão automática. |
As conexões são interrompidas; garanta que sua aplicação se reconecte automaticamente. |
|
Shard |
As conexões do cliente não são encerradas. |
Podem falhar durante a reinicialização; tente novamente conforme necessário. |
Comportamento ao reiniciar nós
|
Tipo de nó |
Comportamento da conexão |
Operações de escrita |
|
Nó de replica set |
Todas as conexões com esse nó são encerradas. As funções dos nós podem mudar após a reinicialização. |
As operações de escrita no primário não são afetadas, a menos que ocorra um failover entre primário e secundário. |
|
Nó de shard (cluster com shards) |
As conexões do cliente permanecem ativas. |
Podem falhar durante a reinicialização; repita a operação se necessário. |
Recomendações para produção
Use uma URI de string de conexão de alta disponibilidade (HA) em ambientes de produção:
Instâncias de replica set: A URI HA inclui os endpoints de todos os nós, permitindo que sua aplicação se reconecte automaticamente após uma mudança de função. Para mais detalhes, consulte Conectar-se a uma instância de replica set.
Instâncias de cluster com shards: Adicione à URI os endpoints de pelo menos dois nós Mongos. Para mais detalhes, consulte Conectar-se a uma instância de cluster com shards.
Reiniciar uma instância
Faça login no console do ApsaraDB for MongoDB.
No painel de navegação à esquerda, clique em Replica Set Instances ou Sharded Cluster Instances, conforme o tipo da instância.
Na parte superior da página, selecione o grupo de recursos e a região da instância.
Na coluna Actions da instância desejada, clique em More > Restart.
Na caixa de diálogo Restart Instance, clique em OK.
O status da instância muda para Rebooting. Quando o status retornar para Running, a reinicialização estará concluída.
Reiniciar um componente
Esta operação aplica-se exclusivamente a instâncias de cluster com shards.
Acesse a página Sharded Cluster Instances. Na parte superior da página, selecione o grupo de recursos e a região e clique em ID da instância desejada.
Na área Mongos List ou Shard List, localize o componente a ser reiniciado e clique em Restart na coluna Actions.
Na caixa de diálogo Restart Node, clique em OK.
O status da instância muda para Rebooting. Quando o status retornar para Running, a reinicialização do componente estará concluída.
Reiniciar um nó
Acesse a página Replica Set Instances ou Sharded Cluster Instances. Na parte superior da página, selecione o grupo de recursos e a região e clique em ID da instância desejada.
No painel de navegação à esquerda da página de detalhes da instância, clique em Service Availability.
Localize o nó a ser reiniciado e clique em Restart Node na coluna Actions.
Na caixa de diálogo Restart Node, clique em OK.
O status da instância muda para Restarting Node. Quando o status retornar para Running, a reinicialização do nó estará concluída.
Perguntas frequentes
Qual é a sequência de reinicialização de uma instância de replica set e o que é afetado em cada etapa?
O sistema reinicia os nós na seguinte ordem:
Nó oculto — Sem impacto no serviço.
Nós secundários e somente leitura — Todas as conexões com esses nós são encerradas; o cliente precisa se reconectar. As operações de escrita não são afetadas porque o primário permanece disponível. Operações de leitura com
readPreference=Secondarysofrem impacto temporário. Se a instância tiver múltiplos nós somente leitura, o tráfego de leitura é redirecionado para outro nó disponível enquanto um deles reinicia. Operações de leitura comreadPreference=secondary&readPreferenceTags=role:readonlysão afetadas especificamente nesse nó.Failover entre primário e secundário — Ocorre uma desconexão transitória de aproximadamente 30 segundos. Caso sua aplicação se conecte diretamente ao endereço do nó primário, as operações de escrita podem falhar durante essa janela.
Antigo nó primário (agora secundário) — Apresenta o mesmo comportamento da reinicialização de um nó secundário.
Qual é a sequência de reinicialização de uma instância de cluster com shards e o que é afetado em cada etapa?
O sistema reinicia os componentes nesta ordem:
Nós de shard — Reiniciados em paralelo. As conexões do cliente não são encerradas, mas operações de escrita podem falhar. Tente novamente quaisquer operações de escrita com falha.
Nós do Config Server — Sem impacto no serviço.
Nós Mongos — Reiniciados em paralelo. Todas as conexões com esses nós são encerradas. Configure sua aplicação para reconexão automática.