Menu Docs

Sobre mongosync

O bináriomongosync é o processo primário usado no Cluster-to-Cluster Sync. mongosync migra dados de um cluster de origem para um cluster de destino e mantém os clusters em sincronização contínua até que você finalize a sincronização. Além da sincronização de dados contínua, o mongosync também pode executar uma migração de dados única entre clusters.

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:

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 ECA, o mongosync atualiza continuamente o cluster de destino quando você faz alterações 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 Confirmando , que é quando mongosync interrompe a sincronização contínua entre os clusters de origem e de 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: