Todos os produtos
Search
Central de documentação

Data Transmission Service:Estratégias de ordenação de mensagens para RocketMQ

Última atualização: Jun 27, 2026

Ao sincronizar ou migrar dados para uma instância do Message Queue for RocketMQ, o DTS encaminha cada evento de alteração e instrução DDL para uma partição no tópico de destino. A atribuição da partição determina a ordem em que os consumidores downstream recebem as mensagens. A escolha da estratégia adequada permite equilibrar as garantias de ordenação e o throughput.

Nota

O DTS garante apenas consistência eventual. Caso as especificações da instância de destino do Message Queue for RocketMQ mudem (por exemplo, devido a scale up ou scale down), a ordem de entrega das mensagens também pode mudar. A nova ordem se aplica a todas as entregas subsequentes.

Estratégias de ordenação

Nota

Em uma instância do Message Queue for RocketMQ, os termos shard, partition e message queue são intercambiáveis e referem-se a uma fila de mensagens. Para mais informações, consulte Conceitos básicos (RocketMQ 5.x) e Conceitos básicos (RocketMQ 4.x).

O DTS oferece três estratégias de ordenação. Escolha com base no rigor necessário para preservar a ordem das operações e no throughput exigido.

Estratégia

Funcionamento

Compensações

Entregar dados de forma ordenada e com visão unificada

O DTS entrega todos os dados e instruções DDL na partição 0 do tópico de destino.

Preserva a ordem de criação e modificação de todos os objetos do banco de dados source. O desempenho é moderado, pois uma única partição processa todo o tráfego. Recomendado quando a ordenação entre tabelas é obrigatória.

Entregar dados com base em valores hash dos nomes do banco de dados e da tabela

O DTS calcula um hash a partir da combinação dos nomes do banco de dados e da tabela e o utiliza como chave de partição. Dados e instruções DDL da mesma tabela sempre vão para a mesma partição. Instruções DDL não específicas de tabela (como CREATE DATABASE) são enviadas para a partição 0.

Mantém a ordem de criação e modificação por tabela e oferece bom desempenho. A ordenação entre tabelas diferentes não é garantida, já que cada tabela é roteada para uma partição distinta. Mais indicado quando a ordenação por tabela é suficiente.

Entregar dados com base em valores hash de uma coluna especificada

O DTS calcula um hash a partir do valor de uma coluna e o usa como chave de partição. Por padrão, trata-se da chave primária. Na ausência dela, utiliza-se a chave única. Também é possível defina uma ou mais colunas como chave de partição. As instruções DDL vão para a partição 0 por padrão. Se uma tabela não tiver chave primária nem chave única, todos os seus dados e instruções DDL serão enviados para a partição 0.

Proporciona o maior desempenho. Garante ordenação apenas para alterações em um único registro. Não assegura a ordem entre tabelas diferentes ou para tabelas sem chave primária. Projetado para cenários em que o throughput máximo é prioridade e a ordenação por registro é suficiente.

Selecione a estratégia de ordenação

Selecione a opção Rules of the ordered messages delivered to RocketMQ. na etapa Configure Objects ao configurar uma instância de sincronização ou migração de dados do DTS.