Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

Membros ocultos do conjunto de réplicas

Nesta página

  • Comportamento
  • Leitura adicional

Um membro oculto mantém uma cópia do conjunto de dados do primary, mas é invisível para os aplicativos clientes. Os membros ocultos são bons para volumes de trabalho com padrões de uso diferentes dos outros membros do conjunto de réplicas. Os membros ocultos devem ser sempre membros de prioridade 0 e, portanto, não podem se tornar primários. O método db.hello() não exibe membros ocultos. No entanto, os membros ocultos podem votar nas eleições.

No conjunto de réplicas de cinco membros a seguir, todos os quatro membros secundários têm cópias do conjunto de dados primário, mas um dos membros secundários está oculto.

Diagrama de um conjunto de réplicas de 5 membros com um membro de prioridade 0 oculto.

Os clientes não distribuirão leituras com o read preference apropriado para membros ocultos. Como resultado, esses membros não recebem nenhum tráfego além da replicação básica. Use membros ocultos para tarefas dedicadas, como relatórios e backups.

Importante

Se o seu conjunto de réplicas tiver membros atrasados, garanta que os membros atrasados estejam ocultos e que não tenham direito ao voto.

A ocultação dos membros do conjunto de réplicas atrasadas impede que os aplicativos vejam e consultem os dados atrasados sem uma conexão direta com esse membro. Tornar os membros do conjunto de réplicas atrasadas sem direito a voto significa que eles não contarão para o reconhecimento das operações de gravação com a write concern "majority".

Se você não ocultar membros atrasados e um ou mais nós ficarem indisponíveis, o conjunto de réplicas deverá aguardar o membro atrasado e o ponto de confirmação atrasar. Um ponto de confirmação atrasado pode levar a problemas de desempenho.

Por exemplo, considere uma configuração de conjunto de réplicas Primary-Secondary-Delayed onde o secundário atrasado está votando com um atraso de 10 minutos.

Com uma secundária não atrasada indisponível, a configuração degradada de Primary-Delayed deve aguardar pelo menos 10 minutos para reconhecer uma operação de gravação com "majority". A maioria dos pontos de confirmação levará mais tempo para avançar, levando a problemas de desempenho semelhantes à pressão de cache com um conjunto de réplicas Primário com um Secundário e Arbitro (PSA).

Para obter mais informações sobre o ponto de confirmação da maioria, consulte Consistência causal e preocupações de leitura e gravação. Para detalhes adicionais sobre como resolver problemas de desempenho, consulte o tutorial de manutenção de conjunto de réplicas.

Em um cluster fragmentado, o mongos não interage com membros ocultos.

Membros ocultos podem votar em eleições de conjuntos de réplicas. Se você interromper um membro oculto com direito a voto, certifique-se de que o conjunto tenha uma maioria ativa ou o primary será removido.

Para fins de backups,

  • db.fsyncLock() garante que os arquivos de dados estejam seguros para cópia usando utilidades de backup de baixo nível, como cp, scp ou tar. Um mongod iniciado usando os arquivos copiados contém dados gravados pelo usuário que não podem ser distinguidos dos dados gravados pelo usuário no mongod bloqueado.

    Os arquivos de dados de um mongod bloqueado podem mudar devido a operações como sincronizações do diário ou snapshots do WiredTiger. Embora isso não tenha efeito nos dados lógicos (por exemplo dados acessados pelos clientes), alguns utilidades de backup podem detectar essas alterações e emitir avisos ou não funcionar com os erros. Para obter mais informações sobre os procedimentos e utilidades de backup recomendados pelo MongoDB, consulte Métodos de backup do MongoDB.

Os membros ocultos do conjunto de réplicas podem reconhecer as operações de gravação emitidas com w: <number>. Para operações de escrita emitidas com w : "majority", no entanto, os membros ocultos também devem ser membros votantes (ou seja, members[n].votes maior que 0) para reconhecer a operação de gravação do "majority". Membros do conjunto de réplicas sem direito ao voto (i.e. members[n].votes é 0) não pode contribuir para reconhecer operações de gravação com o write concern majority.

Para obter mais informações sobre backup de bancos de dados MongoDB, veja Métodos de backup do MongoDB. Para configurar um membro oculto, veja Como configurar um membro oculto de um conjunto de réplicas.

← Conjuntos de réplicas de prioridade 0