Todos os produtos
Search
Central de documentação

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

Última atualização: Jun 27, 2026

Use o recurso de rastreamento de alterações do Data Transmission Service (DTS) com MongoDB ou Redis para implementar uma política de atualização de cache altamente confiável e de baixa latência. Este tópico descreve essa política usando um exemplo no qual o ApsaraDB RDS for MySQL é a origem e o Tair (compatível com Redis) é o destino.

Pré-requisitos

Contexto

Arquiteturas de aplicação frequentemente incluem uma camada de cache para melhorar a velocidade de acesso e lidar com alta concorrência de leitura. O sistema direciona as solicitações de leitura ao cache, que usa leituras em memória para aumentar o desempenho. Simultaneamente, as atualizações de dados são persistidas em um banco de dados durável, como o ApsaraDB RDS for MySQL, para garantir a integridade dos dados. Esse cenário exige uma política de atualização de cache para manter a sincronização entre o cache e o banco de dados.

Procedimento

Esta seção explica como executar o código de exemplo do SDK no IntelliJ IDEA para consumir 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

      Origem

      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 para minimizar a latência de rede.

      • Evite usar endpoints públicos devido à possível instabilidade da rede.

      No console DTS, clique em ID da instância de Assinatura de Dados de destino. 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 de destino. 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 de destino 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

      Utilize as informações do ponto de verificação de consumo 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 de consumo 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 sua 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 sua 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 seu nome de usuário for admin e sua senha for Rp829dlwa, defina este parâmetro como admin:Rp829dlwa.

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

      Nota

      Se esqueceu sua senha, redefina-a. Para mais informações, consulte Alterar ou redefinir uma senha.

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

Resultados

  1. Faça login no banco de dados de origem e insira vários registros na tabela de origem 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.