Menu Docs
Página inicial do Docs
/
Sincronização de Cluster-to-Cluster do MongoDB
/ /

Migrações A->B->C

Nesta página

  • Sintaxe
  • Comportamento
  • Tamanho do Cluster B
  • Nome da migração
  • Verificação
  • Exemplo
  • Saiba mais

Importante

Programa beta de Cluster-to-Cluster Sync

Este recurso está disponível apenas em mongosync beta. Para saber mais, consulteo programa Cluster-to-Cluster Sync beta .

A partir de mongosync beta 1.8, você pode realizar migrações A->B->C. As migrações A->B->C permitem que você execute duas migrações consecutivas, em que o cluster de destino da primeira migração atua como o cluster de origem para a segunda migração.

Para realizar uma migração A->B->C, execute os seguintes comandos ao iniciar o mongosync:

./bin/mongosync \
--cluster0 <cluster-A-connection-string> \
--cluster1 <cluster-B-connection-string> \
--migrationName <string>
./bin/mongosync \
--cluster0 <cluster-B-connection-string> \
--cluster1 <cluster-C-connection-string> \
--migrationName <string>

Para iniciar a operação de sincronização entre os clusters de origem e destino, consulte Sincronizar dados entre clusters.

A primeira migração (A->B) deve concluir o commit antes que a segunda migração (B->C) comece a ser confirmada.

Aviso

Se a segunda migração começar a ser confirmada antes da conclusão da primeira migração, você poderá sofrer perda de dados.

Antes de usar qualquer recurso beta experimental mongosync, revise o Aviso de Isenção de responsabilidade do programaCluster-to-Cluster Sync beta .

Para obter um melhor desempenho, certifique-se de que a primeira migração (A->B) atinja change event application antes do início da segunda migração (B->C). Para ver se uma migração atingiu change event application, marque o campo info no documento de resposta progress .

As gravações do cluster A e as leituras do cluster C podem resultar em cargas pesadas para o cluster B. Certifique-se de que o cluster B tenha tamanho suficiente e possa lidar com cargas simultâneas de leitura e escrita.

A string migrationName pode conter até 44 caracteres alfanuméricos e sublinhados. migrationName é anexado à string "mongosync_internal_" para definir o nome do banco de dados de dados de metadados de migração.

Por exemplo, se você definir migrationName como "cluster_27000_to_cluster_35000_sync", o nome do banco de dados de metadados mongosync resultante será "mongosync_internal_cluster_27000_to_cluster_35000_sync".

Migrações A->B->C não é compatível com o Verificador Incorporado. O comando /start retorna um erro se você ativar o verificador e as migrações A->B->C.

Para obter mais informações, consulte Verificar a fonte de dados.

O exemplo a seguir executa duas migrações consecutivas que:

  1. Conecte um cluster de origem em execução na porta 27000 com um cluster de destino em execução na porta 27001.

  2. Use o cluster de destino em execução na porta 27001 como cluster de origem para a segunda migração.

  3. Conecte o cluster de origem na porta 27001 com um cluster de destino em execução na porta 27002.

O comando também define --migrationName para descrever as operações e armazenar os metadados de migração para cada sincronização.

./bin/mongosync \
--cluster0 "mongodb://localhost:27000" \
--cluster1 "mongodb://localhost:27001" \
--migrationName "cluster_27000_to_cluster_27001_sync"
./bin/mongosync \
--cluster0 "mongodb://localhost:27001" \
--cluster1 "mongodb://localhost:27002" \
--migrationName "cluster_27001_to_cluster_27002_sync"

Voltar

Programa beta