Todos os produtos
Search
Central de documentação

ApsaraDB for MongoDB:Sincronização unidirecional de instâncias MongoDB com MongoShake

Última atualização: Aug 24, 2026

O MongoShake é uma ferramenta open-source desenvolvida pela Alibaba Cloud para sincronizar dados entre bancos de dados MongoDB. Ela atende a casos de uso como análise de dados, recuperação de desastres e replicação ativa-ativa. Este tópico explica como configurar a sincronização em tempo real entre instâncias do ApsaraDB for MongoDB.

MongoShake

Desenvolvido em Go pela Alibaba Cloud, o MongoShake é uma ferramenta de service de uso geral. Ele replica dados do MongoDB lendo os logs de operações (oplogs) e os reexecutando na instância de destino.

A ferramenta também oferece recursos de assinatura e consumo de dados. Com integração a SDKs, Kafka e MetaQ, ela suporta cenários como assinatura de logs, sincronização entre data centers e evicção assíncrona de cache.

Nota

Para mais informações, consulte o repositório do MongoShake no GitHub.

Fontes de dados suportadas

Origem

Destino

Banco de dados MongoDB autogerenciado em uma instância ECS

Banco de dados MongoDB autogerenciado em uma instância ECS

Banco de dados MongoDB autogerenciado on-premises

Banco de dados MongoDB autogerenciado on-premises

Instância do ApsaraDB for MongoDB

Instância do ApsaraDB for MongoDB

Banco de dados MongoDB em cloud de terceiros

Banco de dados MongoDB em cloud de terceiros

Observações

  • Evite executar qualquer operação DDL no banco de dados de origem antes da conclusão da sincronização completa. Caso contrário, pode ocorrer inconsistência de dados.

  • Não há suporte para sincronização do banco de dados local. Para sincronizar dados do banco de dados admin, consulte Migrate business data from the admin database to a non-admin database.

Permissões necessárias

Origem

Permissões necessárias

Instância MongoDB de origem

Permissão readAnyDatabase, permissão read no banco de dados local e permissão readWrite no banco de dados mongoshake.

Nota

O programa MongoShake cria automaticamente o banco de dados mongoshake na instância de origem quando uma sincronização incremental é iniciada.

Instância MongoDB de destino

Permissão readWriteAnyDatabase ou permissão readWrite no banco de dados de destino.

Nota

Para obter informações sobre como criar e autorizar usuários de banco de dados MongoDB, consulte Use DMS to manage MongoDB database users ou o comando db.createUser.

Pré-requisitos

  1. Para garantir o melhor desempenho de sincronização, certifique-se de que a instância de conjunto de réplicas do MongoDB de origem utilize uma VPC. Se ela usar a rede clássica, altere o tipo de rede para VPC. Para mais informações, consulte Switch the network type of an instance from classic network to VPC.

  2. Crie uma instância de conjunto de réplicas do MongoDB de destino. Para minimizar a latência de rede, crie a instância de destino na mesma VPC da instância de origem. Para mais informações, consulte Create a replica set instance.

  3. Crie uma instância ECS para executar o MongoShake. Para reduzir a latência de rede, crie a instância ECS na mesma VPC da instância de origem. Para mais informações, consulte Create an ECS instance.

  4. Adicione o endereço IP privado da instância ECS às listas de permissões das instâncias MongoDB de origem e de destino e verifique se a instância ECS consegue se conectar a ambas. Para mais informações, consulte Modify a whitelist.

Nota

Se a sua configuração de rede não atender aos requisitos anteriores, solicite um endpoint público para as instâncias MongoDB de origem e de destino. Em seguida, adicione o endereço IP público da instância ECS às listas de permissões de ambas as instâncias MongoDB para realizar a sincronização pelos endpoints públicos. Para mais informações, consulte Apply for a public endpoint e Modify a whitelist.

Procedimento

Este procedimento considera que o MongoShake esteja instalado no diretório /test/mongoshake.

  1. Faça login na instância ECS.

    Nota

    Escolha um método de login adequado ao seu cenário. Para mais informações, consulte Overview of logon methods for ECS servers.

  2. Execute o comando abaixo para baixar o programa MongoShake e renomeá-lo para mongoshake.tar.gz.

    wget "https://github.com/alibaba/MongoShake/releases/download/release-v2.8.7-20251218/mongo-shake-v2.8.7.tgz" -O mongoshake.tar.gz
    Nota

    O comando baixa a versão 2.8.7 do MongoShake. Para baixar a versão mais recente, consulte a página de releases.

  3. Execute o comando a seguir para extrair o pacote do MongoShake no diretório /test/mongoshake.

    tar zxvf mongoshake.tar.gz && mv mongo-shake-v2.8.7 /test/mongoshake && cd /test/mongoshake
  4. Execute o comando vi collector.conf para modificar o arquivo de configuração do MongoShake collector.conf. A tabela a seguir descreve os principais parâmetros.

    Parâmetro

    Descrição

    Exemplo

    mongo_urls

    URI da string de conexão da instância MongoDB de origem. No exemplo, a conta do banco de dados é test, localizada no banco de dados admin.

    Nota

    mongo_urls = mongodb://test:**@dds-bp19f409d7512.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512**.mongodb.rds.aliyuncs.com:3717

    Nota

    A senha não pode conter o caractere arroba (@). Caso contrário, a conexão falhará.

    tunnel.address

    URI da string de conexão da instância MongoDB de destino. No exemplo, a conta do banco de dados é test, localizada no banco de dados admin.

    Nota

    tunnel.address = mongodb://test:**@dds-bp19f409d7512.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512**.mongodb.rds.aliyuncs.com:3717

    Nota

    A senha não pode conter o caractere arroba (@). Caso contrário, a conexão falhará.

    sync_mode

    Modo de sincronização de dados. Valores válidos:

    • all: executa uma sincronização completa e uma incremental.

    • full: executa apenas a sincronização completa.

    • incr: executa apenas a sincronização incremental.

    Nota

    O valor padrão é incr.

    sync_mode = all

    Nota

    Para obter a lista completa de parâmetros em collector.conf, consulte a seção "parâmetros do collector.conf" em Appendix.

  5. Execute o comando a seguir para iniciar a tarefa de sincronização e imprimir os logs.

    ./collector.linux -conf=collector.conf -verbose
  6. Observe a saída do log. Quando aparecer uma entrada semelhante à seguinte, isso indica que a sincronização completa foi concluída e a sincronização incremental começou.

    [09:38:57 CST 2019/06/20] [INFO] (mongoshake/collector.(*ReplicationCoordinator).Run:80) finish full sync, start incr sync with timestamp: fullBeginTs[1560994443], fullFinishTs[1560994737]

Monitoramento de status

Após o início da sincronização incremental, abra uma nova janela de terminal e execute os seguintes comandos:

cd /test/mongoshake && ./mongoshake-stat --port=9100
Nota

O mongoshake-stat é um script Python e requer a instalação do Python 2.7. Para mais informações, consulte o site oficial do Python.

Saída de exemplo:

./mongoshake-stat --port=9100

  logs_get/sec  |  logs_repl/sec  |  logs_success/sec  |          lsn.time          |        lsn_ack.time        |       lsn_ckpt.time        |         now.time           |   replset
      none      |      none       |        none        |  2019-06-20 10:34:14       |  2019-06-20 10:34:13       |  2019-06-20 10:33:36       |  2019-06-20 10:34:14       |  mgset-10
      545       |      768        |        768         |  2019-06-20 10:34:15       |  2019-06-20 10:34:15       |  2019-06-20 10:34:14       |  2019-06-20 10:34:15       |  mgset-10
      541       |      511        |        511         |  2019-06-20 10:34:15       |  2019-06-20 10:34:15       |  2019-06-20 10:34:14       |  2019-06-20 10:34:16       |  mgset-10
      639       |      512        |        512         |  2019-06-20 10:34:16       |  2019-06-20 10:34:16       |  2019-06-20 10:34:14       |  2019-06-20 10:34:17       |  mgset-10
      543       |      512        |        512         |  2019-06-20 10:34:17       |  2019-06-20 10:34:17       |  2019-06-20 10:34:14       |  2019-06-20 10:34:18       |  mgset-10
      546       |      768        |        768         |  2019-06-20 10:34:19       |  2019-06-20 10:34:19       |  2019-06-20 10:34:14       |  2019-06-20 10:34:19       |  mgset-10
      538       |      512        |        512         |  2019-06-20 10:34:20       |  2019-06-20 10:34:20       |  2019-06-20 10:34:19       |  2019-06-20 10:34:20       |  mgset-10
      550       |      511        |        511         |  2019-06-20 10:34:21       |  2019-06-20 10:34:21       |  2019-06-20 10:34:19       |  2019-06-20 10:34:21       |  mgset-10
      546       |      512        |        512         |  2019-06-20 10:34:22       |  2019-06-20 10:34:22       |  2019-06-20 10:34:19       |  2019-06-20 10:34:22       |  mgset-10
      531       |      512        |        512         |  2019-06-20 10:34:23       |  2019-06-20 10:34:23       |  2019-06-20 10:34:19       |  2019-06-20 10:34:23       |  mgset-10
      547       |      512        |        512         |  2019-06-20 10:34:24       |  2019-06-20 10:34:24       |  2019-06-20 10:34:19       |  2019-06-20 10:34:24       |  mgset-10
      541       |      512        |        512         |  2019-06-20 10:34:24       |  2019-06-20 10:34:24       |  2019-06-20 10:34:19       |  2019-06-20 10:34:25       |  mgset-10

Descrição dos parâmetros:

Parâmetro

Descrição

logs_get/sec

Quantidade de oplogs buscados por segundo.

logs_repl/sec

Número de operações de reexecução de oplog realizadas por segundo.

logs_success/sec

Total de operações de reexecução de oplog bem-sucedidas por segundo.

lsn.time

Timestamp do último oplog enviado.

lsn_ack.time

Momento em que a instância de destino confirmou a operação de escrita.

lsn_ckpt.time

Timestamp em que o checkpoint foi persistido.

now.time

Hora atual.

replset

Nome do conjunto de réplicas do banco de dados de origem.

Migrar dados do banco de dados admin

O MongoDB não recomenda oficialmente armazenar dados de negócios no banco de dados admin, pois comportamentos de bloqueio e conflitos com comandos internos podem degradar o desempenho da instância.

O MongoShake permite sincronizar dados de negócios do banco de dados admin para um banco de dados não-admin.

Para fazer isso, siga o Procedure. Na Etapa 4, ao modificar o arquivo collector.conf, adicione os seguintes itens de configuração:

filter.pass.special.db = admin

# Migrate all business collections from the admin database to newDB.
transform.namespace = admin:newDB
# Or, migrate the abc collection in the admin database to the def collection in the target database. You can configure multiple rules.
transform.namespace = admin.abc:target.def

Apêndice

Tabela 1. Parâmetros do collector.conf

Categoria

Parâmetro

Descrição

Exemplo

N/A

conf.version

Versão do arquivo de configuração. Não modifique este valor.

conf.version = 4

Opções globais

id

ID da tarefa de sincronização. Você pode personalizar este valor. Ele é usado para o nome do arquivo de log, o nome do banco de dados para armazenar informações de checkpoint e o nome do banco de dados na instância de destino.

id = mongoshake

master_quorum

Opção de alta disponibilidade. Quando nós primário e standby do MongoShake sincronizam dados da mesma origem, defina este parâmetro como true no nó primário do MongoShake.

Valores válidos:

  • true: ativado

  • false: desativado

Nota

O valor padrão é false.

master_quorum = false

full_sync.http_port

Porta HTTP para visualizar o status da sincronização completa.

Nota

O valor padrão é 9101.

full_sync.http_port = 9101

incr_sync.http_port

Porta HTTP para visualizar o status da sincronização incremental.

Nota

O valor padrão é 9100.

incr_sync.http_port = 9100

system_profile_port

Porta de profiling usada para visualizar informações internas de pilha.

system_profile_port = 9200

log.level

Nível de log. Valores válidos:

  • error: Informações de nível de erro.

  • warning: Informações de nível de aviso.

  • info: Mensagens informativas sobre o status atual do sistema.

  • debug: Informações de depuração.

Valor padrão: info.

log.level = info

log.dir

Diretório para arquivos de log e arquivos PID. Se este parâmetro não for definido, o diretório logs no caminho atual será usado por padrão.

Nota

É necessário especificar um caminho absoluto para este parâmetro.

log.dir = ./logs/

log.file

Nome do arquivo de log. Você pode personalizar este valor.

Nota

O valor padrão é collector.log.

log.file = collector.log

log.flush

Frequência de atualização do log na tela. Valores válidos:

  • true: imprime cada entrada de log imediatamente. Isso pode afetar o desempenho.

  • false: não garante que cada entrada de log seja impressa imediatamente. Esta opção melhora o desempenho.

Nota

O valor padrão é false.

log.flush = false

sync_mode

Modo de sincronização de dados. Valores válidos:

  • all: executa uma sincronização completa e uma incremental.

  • full: executa apenas a sincronização completa.

  • incr: executa apenas a sincronização incremental.

Nota

O valor padrão é incr.

sync_mode = all

mongo_urls

URI da string de conexão da instância MongoDB de origem. No exemplo, a conta do banco de dados é test, localizada no banco de dados admin.

Nota

mongo_urls = mongodb://test:**@dds-bp19f409d7512.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512**.mongodb.rds.aliyuncs.com:3717

mongo_cs_url

Se a origem for uma instância de cluster sharded, você deve especificar a URI da string de conexão do nó ConfigServer (CS). Para obter informações sobre como obter a URI da string de conexão de um nó ConfigServer, consulte Apply for an endpoint for a shard.

No exemplo, a conta do banco de dados é test, localizada no banco de dados admin.

mongo_cs_url = mongodb://test:**@dds-bp19f409d7512-csxxx.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512**-csxxx.mongodb.rds.aliyuncs.com:3717/admin

mongo_s_url

Se a origem for uma instância de cluster sharded, especifique a URI da string de conexão de pelo menos um nó mongos. Separe vários endereços mongos com vírgulas (,). Para obter informações sobre como obter a URI da string de conexão de um nó mongos, consulte Apply for an endpoint for a shard.

No exemplo, a conta do banco de dados é test, localizada no banco de dados admin.

mongos_s_url = mongodb://test:**@s-bp19f409d7512.mongodb.rds.aliyuncs.com:3717,s-bp19f409d7512**.mongodb.rds.aliyuncs.com:3717/admin

tunnel

Tipo de canal de sincronização. Valores válidos:

  • direct: sincroniza dados diretamente com a instância MongoDB de destino.

  • rpc: sincroniza dados usando NET/RPC.

  • tcp: sincroniza dados usando TCP.

  • file: sincroniza dados usando transferência de arquivos.

  • kafka: sincroniza dados usando Kafka.

  • mock: apenas para fins de teste. Os dados não são gravados no canal.

Nota

O valor padrão é direct.

tunnel = direct

tunnel.address

Endereço do destino. O formato de endereço suportado varia conforme o tipo de tunnel:

  • Se tunnel estiver definido como direct, especifique a URI da string de conexão da instância MongoDB de destino.

  • Se tunnel estiver definido como rpc, especifique o endereço do receptor RPC da instância de destino.

  • Se tunnel estiver definido como tcp, especifique o endereço do receptor TCP da instância de destino.

  • Se tunnel estiver definido como file, especifique o caminho do arquivo de dados da instância de destino.

  • Se tunnel estiver definido como kafka, especifique o endereço do Kafka, como topic@brokers1,brokers2.

  • Se tunnel estiver definido como mock, deixe este parâmetro vazio.

No exemplo, a conta do banco de dados é test, localizada no banco de dados admin.

tunnel.address = mongodb://test:**@dds-bp19f409d7512.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512**.mongodb.rds.aliyuncs.com:3717

tunnel.message

Tipo de dados no canal. Este parâmetro é válido apenas quando tunnel está definido como kafka ou file. Valores válidos:

  • raw: tipo padrão. Os dados são gravados e lidos em lotes.

  • json: os dados são gravados no Kafka no formato JSON, o que permite que os usuários os leiam diretamente.

  • bson: os dados são gravados no Kafka no formato binário BSON.

Nota

O valor padrão é raw.

tunnel.message = raw

mongo_connect_mode

Modo de conexão da instância MongoDB. Este parâmetro é válido apenas quando tunnel está definido como direct. Valores válidos:

  • primary: puxa dados do nó primário.

  • secondaryPreferred: puxa dados de um nó secundário.

  • standalone: puxa dados de um único nó especificado.

Nota

O valor padrão é secondaryPreferred.

mongo_connect_mode = secondaryPreferred

filter.namespace.black

Define uma lista de bloqueios para sincronização de dados. Os namespaces especificados não são sincronizados com o banco de dados de destino. Separe vários namespaces com ponto e vírgula (;).

Nota

Um namespace é o nome canônico de uma coleção ou índice no MongoDB. É uma combinação do nome do banco de dados e do nome da coleção ou índice, como mongodbtest.customer.

filter.namespace.black = mongodbtest.customer;testdata.test123

filter.namespace.white

Define uma lista de permissões para sincronização de dados. Apenas os namespaces especificados são sincronizados com o banco de dados de destino. Separe vários namespaces com ponto e vírgula (;).

filter.namespace.white = mongodbtest.customer;test123

filter.pass.special.db

Ativa a sincronização de bancos de dados especiais. Por padrão, bancos de dados como admin, local, mongoshake, config e system.views são filtrados. Você pode ativar a sincronização para esses bancos de dados conforme necessidades específicas. Separe vários nomes de bancos de dados com ponto e vírgula (;).

filter.pass.special.db = admin;mongoshake

filter.ddl_enable

Especifica se deve ativar a sincronização DDL. Valores válidos:

  • true: ativado

  • false: desativado

Nota

Este recurso não é suportado quando a origem é uma instância de cluster sharded.

filter.ddl_enable = false

checkpoint.storage.url

Endereço de armazenamento para checkpoints, usado para suportar sincronização retomável. Se este parâmetro não for configurado, o programa grava checkpoints em um dos seguintes bancos de dados, dependendo do tipo de instância:

  • Instância de conjunto de réplicas MongoDB: gravado no banco de dados mongoshake.

  • Instância de cluster sharded MongoDB: gravado no banco de dados admin do nó ConfigServer.

No exemplo, a conta do banco de dados é test, localizada no banco de dados admin.

checkpoint.storage.url = mongodb://test:**@dds-bp19f409d7512.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512**.mongodb.rds.aliyuncs.com:3717

checkpoint.storage.db

Nome do banco de dados para armazenar checkpoints.

Nota

O valor padrão é mongoshake.

checkpoint.storage.db = mongoshake

checkpoint.storage.collection

Nome da coleção para armazenar checkpoints. Quando nós primário e standby do MongoShake sincronizam dados da mesma origem, você pode alterar este nome de coleção para evitar conflitos.

Nota

O valor padrão é ckpt_default.

checkpoint.storage.collection = ckpt_default

checkpoint.start_position

Posição inicial para a sincronização. Este parâmetro é usado apenas se nenhum checkpoint for encontrado. O formato é YYYY-MM-DDTHH:MM:SSZ.

Nota

O valor padrão é 1970-01-01T00:00:00Z.

checkpoint.start_position = 1970-01-01T00:00:00Z

transform.namespace

Renomeia um banco de dados ou coleção de origem e o sincroniza com o destino. Por exemplo, você pode renomear database A.collection B da instância de origem para database C.collection D na instância de destino.

transform.namespace = fromA.fromB:toC.toD

Opções de sincronização completa

full_sync.reader.collection_parallel

Número máximo de coleções que o MongoShake pode puxar simultaneamente por vez.

full_sync.reader.collection_parallel = 6

full_sync.reader.write_document_parallel

Número de threads de escrita concorrentes por coleção para o MongoShake.

full_sync.reader.write_document_parallel = 8

full_sync.reader.document_batch_size

Tamanho do lote para gravar documentos na instância de destino. Por exemplo, um valor de 128 indica que 128 documentos são agrupados antes da gravação.

full_sync.reader.document_batch_size = 128

full_sync.collection_exist_drop

Especifica o que fazer se uma coleção de destino tiver o mesmo nome de uma coleção de origem. Valores válidos:

  • true: exclui a coleção de destino e então sincroniza a coleção de origem.

    Aviso

    Esta operação exclui a coleção de destino. Certifique-se de ter um backup antes de prosseguir.

  • false: relata um erro e sai se uma coleção com o mesmo nome for detectada no banco de dados de destino.

full_sync.collection_exist_drop = true

full_sync.create_index

Especifica se deve criar um índice após a conclusão da sincronização. Valores válidos:

  • foreground: cria um índice em primeiro plano.

  • background: cria um índice em segundo plano.

  • none: não cria índice.

full_sync.create_index = none

full_sync.executor.insert_on_dup_update

Especifica se deve converter uma instrução INSERT em uma instrução UPDATE caso o banco de dados de destino contenha um campo _id duplicado. Valores válidos:

  • true: converte a instrução.

  • false: não converte a instrução.

full_sync.executor.insert_on_dup_update = false

full_sync.executor.filter.orphan_document

Especifica se deve filtrar documentos órfãos caso a origem seja uma instância de cluster sharded. Valores válidos:

  • true: filtra documentos órfãos.

  • false: não filtra documentos órfãos.

full_sync.executor.filter.orphan_document = false

full_sync.executor.majority_enable

Especifica se deve ativar a escrita por maioria na instância de destino. Valores válidos:

  • true: ativa a escrita por maioria.

  • false: desativa a escrita por maioria.

full_sync.executor.majority_enable = false

Opções de sincronização incremental

incr_sync.mongo_fetch_method

Método para buscar dados incrementais. Valores válidos:

  • oplog: busca oplogs do banco de dados de origem.

  • change_stream: busca eventos de alteração do banco de dados de origem. Suportado apenas para MongoDB 4.0 e posterior.

Valor padrão: oplog.

incr_sync.mongo_fetch_method = oplog

incr_sync.oplog.gids

Usado para configurar replicação bidirecional para clusters em cloud.

incr_sync.oplog.gids = xxxxxxxxxxxx

incr_sync.shard_key

Método interno de concorrência do MongoShake. Não modifique este parâmetro.

incr_sync.shard_key = collection

incr_sync.worker

Número de threads concorrentes para transmitir oplogs. Você pode aumentar este valor se o desempenho do host for suficiente.

Nota

Se a origem for uma instância de cluster sharded, o número de threads deve ser igual ao número de shards.

incr_sync.worker = 8

incr_sync.worker.oplog_compressor

Ativa a compressão de dados para reduzir o consumo de largura de banda da rede. Valores válidos:

  • none: sem compressão

  • gzip: comprime dados no formato gzip

  • zlib: comprime dados no formato zlib

  • deflate: comprime dados no formato deflate

Nota

Este parâmetro é válido apenas quando o parâmetro tunnel não está definido como direct. Se o parâmetro tunnel estiver definido como direct, você deve definir este parâmetro como none.

incr_sync.worker.oplog_compressor = none

incr_sync.target_delay

Atraso, em segundos, antes que as alterações da origem sejam aplicadas ao destino. Você pode definir este parâmetro para evitar operações acidentais. Por exemplo, incr_sync.target_delay = 1800 cria um atraso de 30 minutos.

Nota

Um valor de 0 indica sincronização em tempo real.

incr_sync.target_delay = 1800

incr_sync.worker.batch_queue_size

Parâmetros de configuração da fila interna do MongoShake. Não modifique estes parâmetros a menos que seja necessário.

incr_sync.worker.batch_queue_size = 64

incr_sync.adaptive.batching_max_size

incr_sync.adaptive.batching_max_size = 1024

incr_sync.fetcher.buffer_capacity

incr_sync.fetcher.buffer_capacity = 256

Opções de sincronização do MongoDB (apenas para modo direct)

incr_sync.executor.upsert

Especifica se deve converter uma instrução UPDATE em uma instrução INSERT caso não exista um documento com o _id correspondente ou índice único. Valores válidos:

  • true: converte a instrução.

  • false: não converte a instrução.

incr_sync.executor.upsert = false

incr_sync.executor.insert_on_dup_update

Especifica se deve converter uma instrução INSERT em uma instrução UPDATE caso já exista um documento com o _id correspondente ou índice único. Valores válidos:

  • true: converte a instrução.

  • false: não converte a instrução.

incr_sync.executor.insert_on_dup_update = false

incr_sync.conflict_write_to

Especifica se deve registrar documentos conflitantes caso ocorra um conflito de escrita durante a sincronização. Valores válidos:

  • none: não registra documentos conflitantes.

  • db: registra logs de conflito no banco de dados mongoshake_conflict.

  • sdk: registra logs de conflito no SDK.

incr_sync.conflict_write_to = none

incr_sync.executor.majority_enable

Especifica se deve ativar a escrita por maioria na instância de destino. Valores válidos:

  • true: ativa a escrita por maioria.

  • false: desativa a escrita por maioria.

Nota

Ativar este recurso pode afetar o desempenho.

incr_sync.executor.majority_enable = false

FAQ

Consulte o FAQ do MongoShake. Se encontrar outros problemas ao usar o MongoShake, abra uma issue em GitHub Issues.