全部产品
Search
文档中心

:数据订阅(新版)

更新时间:Feb 05, 2024

数据订阅功能旨在帮助用户获取自建MySQL、RDS MySQL、Oracle的实时增量数据,您可以根据自身业务需求自由消费增量数据,例如缓存更新策略、业务异步解耦、异构数据源数据实时同步及含复杂ETL的数据实时同步等多种业务场景。

原有的数据订阅功能使用成本相对较高,为提升用户体验,降低使用成本,阿里云对数据订阅功能进行升级,可实现数据的多下游重复消费。

功能特性

  • 支持多下游消费,支持数据库和数据表的过滤。详情请参见消费组介绍

  • 支持订阅自建MySQL数据库,为自建数据库用户订阅数据提供更多的便利。

  • 在支持经典网络的基础上,新增了专有网络的支持。用户可以通过专有网络订阅消费数据,以获得更低的网络延迟和更高的安全性。

    说明

    您可以在创建数据订阅通道时选择网络类型,请参见创建RDS MySQL数据订阅任务

  • 支持使用SDK客户端示例代码、flink-dts-connector、Kafka客户端示例代码打印订阅数据,用于SDK客户端、Flink客户端、Kafka客户端消费数据订阅通道中的数据。配置方式,请参见使用SDK示例代码消费订阅数据(推荐) 、使用flink-dts-connector消费订阅数据使用Kafka客户端消费订阅数据

  • 在数据订阅过程中,您可以动态增减订阅对象,详情请参见修改订阅对象

  • 支持修改需要消费数据对应的时间点。

    说明

    您需要通过您的订阅客户端来修改消费时间点。

  • 提供订阅通道状态、下游消费延迟的报警监控功能。您可以根据业务敏感度,自定义消费延迟报警阈值。

消费组介绍

原有的数据订阅功能在进行数据订阅时,只能有一个下游SDK消费数据,其他的SDK作为备份。如果需要对同一个源库的增量数据进行重复消费的话,则需要购买多个数据订阅实例,使用成本较高。

为降低用户使用成本,DTS新增了消费组的功能。当多个下游需要订阅同一个数据库实例时,只需要创建多个消费组即可,多个消费组可以同时对同一个数据库实例进行数据的订阅和消费,降低了用户的使用成本。

消费组特性

  • 一个数据订阅实例中可以创建多个消费组,通过创建多个消费组可以实现数据的重复消费。

  • 同一个消费组对每条消息只进行一次消费,消费组内的多个消费者互为备份。

  • 同一个消费组中,同一时刻只能有一个消费者进行数据消费,其他消费者作为容灾节点。

支持的数据库、订阅的数据库类型以及配置文档

请参见订阅方案概览

支持的语言

DTS支持多种语言的客户端对数据进行消费,具体如下:

  • Java

  • C/C++

  • Python

  • Go(AKA golang)

  • Erlang

  • .NET

  • Ruby

  • Node.js

  • Proxy(HTTP REST、etc)

DTS为您提供了Java语言的SDK客户端和Kafka客户端示例,请参见使用SDK示例代码消费订阅数据使用Kafka客户端消费订阅数据。此外,您可以使用对应语言的Kafka官方客户端进行数据消费,请参见Kafka客户端

警告

如果使用Kafka官方客户端进行数据消费,您需要按照<消费组的账号>-<消费组ID>的格式设置用户名(例如:dtstest-dtsae******bpv),否则无法正常连接。

支持的数据类型和订阅对象

  • 数据类型

    DTS将源库的增量数据类型分为结构变更DDL(Data Definition Language)和数据变更DML(Data Manipulation Language)。

    • 结构变更DDL

      订阅整个实例所有对象的结构创建、删除及修改,您需要使用订阅客户端来过滤所需的数据。

    • 数据变更DML

      订阅已选择对象的增量数据更新,包含数据的INSERT、DELETE和UPDATE操作。

  • 订阅对象

    订阅对象选择的粒度为库、表。

数据订阅通道

数据订阅通道会实时拉取源数据库中的增量数据,并将最近24小时的增量数据保存在数据订阅通道中。您可以使用SDK客户端、Flink客户端或Kafka客户端从订阅通道中订阅增量数据并进行消费。同时,您也可以在DTS控制台对数据订阅通道进行创建、管理及删除等操作。

数据订阅通道在创建及运行过程中的状态信息如下表所示。

通道状态

状态说明

可进行操作

预检中

已经完成数据订阅通道的配置,正在进行预检查。

删除订阅

未启动

已经通过预检查,但是还没有启动订阅。

  • 开始订阅

  • 删除订阅

初始化

正在进行启动初始化,一般需要1分钟左右。

删除订阅

正常

正在拉取数据源的增量数据。

  • 查看示例代码

  • 监控报警

  • 删除订阅

  • 重新配置

异常

拉取数据源的增量数据时出现异常。

  • 查看示例代码

  • 监控报警

  • 删除订阅

  • 重新配置

说明
  • 当数据订阅通道处于异常状态时,该通道将在7天之内被自动恢复。如果需要停止订阅,您可以释放数据订阅通道。

  • 释放数据订阅通道后,该通道中的数据将被释放且无法被找回,请谨慎操作。