Menu Docs
Página inicial do Docs
/
MongoDB Mongosync

Sobre mongosync

O bináriomongosync é o processo primário usado no Mongosync. O mongosync migra dados de um cluster de origem para um cluster de destino.

mongosync replica dados e gravações de um cluster para outro até que a sincronização seja finalizada. Você pode usar essa ferramenta para realizar migrações de dados únicas entre clusters MongoDB com o mínimo de tempo de inatividade.

Para obter mais informações sobre mongosync e o comportamento do cluster de destino durante a execução, consulte Considerações durante a sincronização.

Importante

Até que você tenha chamado commit em mongosync e canWrite retorne true com sucesso, as coleções migradas no cluster de destino não poderão ser utilizadas para aceitar tráfego de leitura ou gravação do aplicativo. Não utilize mongosync para a manutenção de clusters de Recuperação de desastres.

mongosync mantém o controle de suas ações atuais por meio de estados. mongosync insere estados diferentes dependendo das solicitações que recebe. O estado atual do mongosync determina quais operações de API você pode executar.

Observação

A maioria das transições de estado ocorre como resultado de uma chamada de API. As exceções são:

  • A transição de COMMITTING para COMMITTED. Para obter mais informações, consulte Finalizando a sincronização.

  • A transição de REVERSING para RUNNING. Para obter mais informações, consulte Reverter a sincronização.

Para visualizar o estado atual do mongosync, use o endpoint /progress .

O diagrama a seguir ilustra a relacionamento entre mongosync estados e operações de API:

Diagrama da relacionamento entre os estados ``mongosync`` e as operações da API
clique para ampliar

A página Perguntas Frequentes (FAQ) aborda as perguntas que os usuários fizeram sobre mongosync.

Você deve criar uma conexão inicial com os clusters de origem e destino antes que mongosync possa começar a sincronizar dados. Para obter mais informações, consulte Conectando mongosync.

Quando mongosync se conecta aos clusters de origem e destino, o processo de sincronização entra no estado IDLE .

Para iniciar o processo de sincronização, chame o endpoint inicial .

O endpoint start começa o estado RUNNING , que é quando mongosync sincroniza dados do cluster de cluster de origem com o cluster de destino. Se você fizer gravações subsequentes no cluster de origem, o mongosync aplicará as operações ao cluster de destino.

Para cada coleção de origem que sincroniza, o mongosync cria uma coleção correspondente no destino.

mongosync altera temporariamente algumas das características da coleção replicada no cluster de destino. Ele altera essas características do cluster de destino de volta para as características do cluster de origem durante o estado COMMIT . Para obter mais informações, consulte Alterações de características de coleção.

O estado RUNNING inclui duas fases:

Durante a fase de cópia de coleção, o mongosync executa a transferência de dados inicial do agrupamento de cluster de origem para o agrupamento de destino. mongosync executa essa transferência de dados dividindo as collections de origem em partições e copiando as partições para as collections de destino correspondentes.

A fase do aplicação de evento de alteração (CEA) começa após o término da fase de cópia da coleção.

Durante a fase de EC, mongosync faz alterações contínuas no cluster de destino conforme você escreve no cluster de origem.

Para fazer atualizações contínuas no cluster de destino, mongosync abre um change stream no cluster de origem e aplica os eventos de alteração que recebe ao cluster de destino.

Quando a fase de ECA começa, mongosync aplica os eventos de alteração recebidos durante a fase de cópia de collection antes de processar os eventos recebidos durante a fase de ECA.

Para pausar o processo de sincronização e inserir o estado PAUSED , chame o endpoint de pausa .

Para retomar um processo de sincronização pausado e retornar mongosync ao estado RUNNING , chame o endpoint de retomada .

Para finalizar a sincronização entre os clusters de origem e de destino, chame o endpoint de confirmação .

Observação

Você deve bloquear gravações no cluster de origem antes de iniciar o processo de confirmação.

Se você definiu enableUserWriteBlocking anteriormente "sourceAndDestination" como ao usar o endpoint de início, mongosync bloqueará automaticamente as gravações no cluster de origem quando você usar o commit endpoint.

Se você não definiu enableUserWriteBlocking "sourceAndDestination"como, execute no cluster de origem para bloquear setUserWriteBlockMode gravações.

O endpoint commit inicia o estado COMMITTING, que é quando mongosync para de migrar dados entre os clusters de origem e destino.

Quando o estado COMMITTING começa, mongosync recupera o carimbo de data/hora do commit, que é a hora da operação mais recente no cluster de origem.

Se não houver erros, mongosync enviará uma mensagem de sucesso e sairá do CAE processando eventos até o carimbo de data/hora de confirmação. mongosync também restaura características da coleção que mongosync altera temporariamente durante a sincronização.

Quando o processo acima é concluído, mongosync entra no estado COMPOsta . O estado COMMITTED indica que o processo de cutover foi concluído.

Para reverter a direção de uma operação de sincronização confirmada, chame o ponto de extremidade reverso .

O ponto de extremidade reverse inicia o estado REVERSING . mongosync troca os clusters de origem e destino e retoma a aplicação de eventos de alteração.

Se a sincronização reversa for bem-sucedida, mongosync entrará no estado RUNNING . A sincronização continua na direção inversa do tarefa de sincronização original.

Para saber mais sobre mongosync, consulte:

Voltar

Início rápido

Nesta página