数据订阅(新版)
更新时间:2020-08-26 15:35:45
本页目录
数据订阅功能旨在帮助用户获取自建MySQL、RDS MySQL、Oracle的实时增量数据,您可以根据自身业务需求自由消费增量数据,例如缓存更新策略、业务异步解耦、异构数据源数据实时同步及含复杂ETL的数据实时同步等多种业务场景。
原有的数据订阅功能使用成本相对较高,为提升用户体验,降低使用成本,阿里云对数据订阅功能进行升级,可实现数据的多下游重复消费。
优惠活动
功能特性
- 支持多下游消费,支持数据库和数据表的过滤。详情请参见消费组介绍。
- 支持订阅自建MySQL数据库,为自建数据库用户订阅数据提供更多的便利。
- 在支持经典网络的基础上,新增了专有网络的支持。用户可以通过专有网络订阅消费数据,以获得更低的网络延迟和更高的安全性。
说明 您可以在创建数据订阅通道时选择网络类型,详情请参见 创建RDS MySQL数据订阅通道(新版)。
- 支持Kafka生态,通过使用Kafka Client您可以直接消费数据订阅通道中的数据。
说明 当前仅支持Kafka 0.10.0.x版本至1.1.x版本,详情请参见 使用Kafka客户端消费订阅数据。
- 在数据订阅过程中,您可以动态增减订阅对象,详情请参见修改订阅对象。
- 支持修改需要消费数据对应的时间点。
说明 您需要通过您的订阅客户端来修改消费时间点。
- 提供订阅通道状态、下游消费延迟的报警监控功能。您可以根据业务敏感度,自定义消费延迟报警阈值。
消费组介绍
原有的数据订阅功能在进行数据订阅时,只能有一个下游SDK消费数据,其他的SDK作为备份。如果需要对同一个源库的增量数据进行重复消费的话,则需要购买多个数据订阅实例,使用成本较高。
为降低用户使用成本,DTS新增了消费组的功能。当多个下游需要订阅同一个数据库实例时,只需要创建多个消费组即可,多个消费组可以同时对同一个数据库实例进行数据的订阅和消费,大大降低了用户的使用成本。
消费组特性
- 一个数据订阅实例中可以创建多个消费组,通过创建多个消费组可以实现数据的重复消费。
- 同一个消费组对每条消息只进行一次消费,消费组内的多个消费者互为备份。
- 同一个消费组中,同一时刻只能有一个消费者进行数据消费,其他消费者作为容灾节点。
支持订阅的数据库类型和版本
订阅的源数据库(例如MySQL、Oracle)的部署位置可以是有公网IP的自建数据库、无公网IP:Port的数据库(通过数据库网关DG接入)、ECS上的自建数据库或通过专线/VPN网关/智能网关接入的自建数据库。
源数据库 | 支持订阅的数据类型 |
---|---|
自建MySQL 5.1、5.5、5.6、5.7或8.0版本 |
|
RDS MySQL 所有版本 | |
PolarDB MySQL 所有版本 | |
自建Oracle(非RAC架构) 9i、10g、11g或12c版本 |
支持的语言
DTS支持多种语言的客户端对数据进行消费,具体如下:
- Java
- C/C++
- Python
- Go(AKA golang)
- Erlang
- .NET
- Ruby
- Node.js
- Proxy(HTTP REST、etc)
您可以使用对应语言的Kafka官方客户端进行数据消费,详情请参见Kafka客户端。同时,DTS为您提供了Java语言的Kafka客户端示例,详情请参见使用Kafka客户端消费订阅数据。
警告 如果使用Kafka官方客户端进行数据消费,您需要按照 <消费组的账号>-<消费组ID>
的格式设置用户名(例如: dtstest-dtsae******bpv
),否则无法正常连接。
支持的数据类型和订阅对象
- 数据类型
DTS将源库的增量数据类型分为结构变更DDL(Data Definition Language)和数据变更DML(Data Manipulation Language)。
- 结构变更DDL
订阅整个实例所有对象的结构创建、删除及修改,您需要使用订阅客户端过滤所需的数据。
- 数据变更DML
订阅已选择对象的增量数据更新,包含数据的INSERT、DELETE和UPDATE操作。
- 结构变更DDL
- 订阅对象
订阅对象选择的粒度为库、表。
数据订阅通道
数据订阅通道会实时拉取源数据库中的增量数据,并将最近24小时的增量数据保存在数据订阅通道中。您可以使用Kafka Client从订阅通道中订阅增量数据并进行消费。同时,您也可以在DTS控制台对数据订阅通道进行创建、管理及删除等操作。
数据订阅通道在创建及运行过程中的状态信息如下表所示。
通道状态 | 状态说明 | 可进行操作 |
---|---|---|
预检中 | 已经完成数据订阅通道的配置,正在进行预检查。 | 删除订阅 |
未启动 | 已经通过预检查,但是还没有启动订阅。 |
|
初始化 | 正在进行启动初始化,一般需要1分钟左右。 | 删除订阅 |
正常 | 正在拉取数据源的增量数据。 |
|
异常 | 拉取数据源的增量数据时出现异常。 |
|
说明
- 当数据订阅通道处于异常状态时,该通道将在7天之内被自动恢复。如果需要停止订阅,您可以释放数据订阅通道。
- 释放数据订阅通道后,该通道中的数据将被释放且无法被找回,请谨慎操作。