Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

Replicação encadeada autogerenciada

Nesta página

  • Desabilitar replicação encadeada
  • Reativar replicação encadeada

A partir da versão 2.0, O MongoDB oferece suporte à replicação encadeada. Uma replicação encadeada ocorre quando um nó secundário replica de outro nó secundário em vez do primário. Este pode ser o caso, por exemplo, se um secundário selecionar sua origem de replicação com base no tempo de ping e se o nó mais próximo for outro secundário. A origem de replicação para a operação é o membro do qual os dados são lidos.

A replicação encadeada pode reduzir a carga no primary. Mas a replicação encadeada também pode resultar em um atraso de replicação maior, dependendo da topologia da rede.

Você pode usar a configuração settings.chainingAllowed em Configuração do conjunto de réplicas autogerenciadas para desabilitar a replicação encadeada para situações em que a replicação encadeada esteja causando atraso.

O MongoDB permite a replicação encadeada por padrão. Este procedimento descreve como desativá-lo e como reativá-lo.

Observação

Se a replicação em cadeia estiver desativada, você ainda poderá usar replSetSyncFrom para especificar que um secundário se replique de outro secundário. Mas essa configuração durará somente até que o secundário recalcule de qual membro sincronizar.

Para desabilitar a replicação encadeada, configure o campo settings.chainingAllowed em Configuração do conjunto de réplicas autogerenciadas para false.

Você pode utilizar a seguinte sequência de comandos para configurar settings.chainingAllowed para false:

  1. Copie as definições de configuração para o objeto cfg:

    cfg = rs.config()
  2. Observe se as definições de configuração atuais contêm o documento incorporado do settings. Se sim, pule esta etapa.

    Aviso

    Para evitar a perda de dados, pule esta etapa se a configuração contiver o documento incorporado de settings.

    Se as configurações atuais não contiverem o documento incorporado de settings, crie o documento incorporado emitindo o seguinte comando:

    cfg.settings = { }
  3. Emita a seguinte sequência de comandos para definir settings.chainingAllowed como false:

    cfg.settings.chainingAllowed = false
    rs.reconfig(cfg)

Para reativar a replicação encadeada, configure settings.chainingAllowed para true. Você pode usar a seguinte sequência de comandos:

cfg = rs.config()
cfg.settings.chainingAllowed = true
rs.reconfig(cfg)

Voltar

Configurar membros indisponíveis