Todos os produtos
Search
Central de documentação

Data Transmission Service:Implementar atualizações de cache com rastreamento de alterações

Última atualização: Jul 20, 2026

Use o recurso de rastreamento de alterações do Data Transmission Service (DTS) com MongoDB ou Redis para criar uma política de atualização de cache altamente confiável e de baixa latência. Este exemplo usa o ApsaraDB RDS for MySQL como source e o Tair (compatível com Redis) como destino.

Pré-requisitos

Contexto

Aplicações frequentemente adicionam uma camada de cache para melhorar a velocidade de acesso e lidar com alta concorrência de leitura. O cache atende às solicitações de leitura por meio de acessos em memória, enquanto as atualizações de dados persistem em um banco de dados durável, como o ApsaraDB RDS for MySQL. Uma política de atualização de cache mantém o cache sincronizado com o banco de dados.

Procedimento

Execute o código de exemplo do SDK no IntelliJ IDEA para consumir os dados rastreados.

  1. Baixe o pacote de demonstração do SDK de rastreamento de alterações e descompacte-o.

  2. Abra o pacote de demonstração do SDK descompactado como um projeto Maven no IntelliJ IDEA.

  3. No diretório /subscribe-demo/src/main/java/com/alibaba/dts/demo/, clique duas vezes no arquivo DTSMySQL2RedisDemo.java.

  4. Modifique os parâmetros na função main.

    Altere os valores destacados em verde no código, como your broker url em String brokerUrl = "your broker url";.

    • Parâmetros de rastreamento de alterações

      Parâmetro

      Descrição

      Source

      brokerUrl

      Endpoint e número da porta da instância de Assinatura de Dados.

      Nota
      • Se a instância ECS que executa o cliente SDK e a instância de Assinatura de Dados estiverem na mesma rede clássica ou Virtual Private Cloud (VPC), use o endpoint interno da assinatura para minimizar a latência de rede.

      • Não recomendamos o uso de endpoint público devido à possível instabilidade da rede.

      No console DTS, clique em ID da instância de Assinatura de Dados desejada. Na página Basic Information, obtenha o endpoint e o número da porta na seção Network.

      topic

      Tópico de assinatura da instância.

      No console DTS, clique em ID da instância de Assinatura de Dados desejada. Na página Basic Information, obtenha o Topic na seção Basic Information.

      sid

      ID do grupo de consumidores.

      No console DTS, clique em ID da instância de Assinatura de Dados desejada e, em seguida, clique em Consume Data. Obtenha o Consumer Group ID e a Account do grupo de consumidores.

      Nota

      A senha do nome de usuário do grupo de consumidores é definida durante a criação do grupo.

      userName

      Nome de usuário do grupo de consumidores.

      Aviso

      Caso não utilize o cliente fornecido neste tópico, defina o nome de usuário no formato <Username>-<Consumer Group ID>. Exemplo: dtstest-dtsaebpv. Caso contrário, a conexão falhará.

      password

      Senha do nome de usuário.

      initCheckpoint

      Ponto de verificação de consumo, especificado como timestamp UNIX, a partir do qual o cliente SDK começa a consumir dados. Exemplo: 1620962769.

      Nota

      As informações do ponto de verificação de consumo são úteis nos seguintes cenários:

      • Para retomar o consumo e evitar perda de dados após uma interrupção da aplicação, informe o último ponto de verificação de consumo conhecido.

      • Ao iniciar o cliente, informe um ponto de verificação específico para consumir dados a partir de uma posição desejada.

      O ponto de verificação de consumo deve estar dentro do intervalo de dados da instância de Assinatura de Dados (conforme mostrado na figura) e convertido para timestamp UNIX.

      Nota

      Use um mecanismo de busca para encontrar um conversor de timestamp UNIX.

      ConsumerContext.ConsumerSubscribeMode subscribeMode

      Modo de uso do cliente SDK. Valores válidos:

      • ConsumerContext.ConsumerSubscribeMode.ASSIGN: Modo ASSIGN. Apenas um cliente SDK em um grupo de consumidores pode consumir dados da Assinatura de Dados.

      • ConsumerContext.ConsumerSubscribeMode.SUBSCRIBE: Modo SUBSCRIBE. Inicie vários clientes SDK no mesmo grupo de consumidores para recuperação de desastres.

      N/A

    • Parâmetros do Tair de destino

      Parâmetro

      Descrição

      Como obter

      redisUrl

      Endpoint da instância Tair.

      Acesse a página Connection Information da instância Tair. Na seção Connection Information, localize o endpoint de Public Access.

      redisPort

      Porta da instância Tair.

      Acesse a página Connection Information da instância Tair. Na seção Connection Information, localize a porta de Public Access.

      redisPassword

      Nome de usuário e senha da instância Tair.

      Importante

      O valor deve ser uma string no formato <user>:<password>. Por exemplo, se o nome de usuário for admin e a senha for Rp829dlwa, defina este parâmetro como admin:Rp829dlwa.

      Credenciais definidas durante a criação da instância Tair.

      Nota

      Caso tenha esquecido a senha, redefina-a. Para mais informações, consulte Change or reset a password.

  5. Na barra de menu superior do IntelliJ IDEA, clique em Run > Run.

Resultados

  1. Faça login no banco de dados source e insira alguns registros na tabela source rastreada.

    O programa consome as alterações incrementais de dados e grava os dados correspondentes no banco de dados de destino.

  2. Faça login no banco de dados de destino e consulte os dados.

    A consulta confirma a gravação bem-sucedida dos dados.