文档首页/ 数据复制服务 DRS/ 数据订阅/ 创建数据订阅任务
更新时间:2024-09-24 GMT+08:00

创建数据订阅任务

支持的数据库

表1 支持数据库信息

数据库引擎

支持订阅的数据类型

RDS for MySQL

5.6、5.7版本

  • 数据更新
  • 结构更新

由于订阅任务当前存在较多订阅对象和操作约束,推荐使用性能、稳定性更高的MySQL到Kafka同步链路进行数据订阅。

使用须知

数据订阅功能通过创建订阅任务来获取数据库中关键业务的数据变化信息,这类信息常常是下游业务所需要的。数据订阅将其缓存并提供统一的SDK接口,实现下游业务订阅、获取、并消费。

一个完整的数据订阅过程需要通过如下两个阶段来实现:

  1. 使用数据复制服务控制台创建数据订阅任务。
  2. 数据订阅任务成功后,使用数据复制服务提供的SDK接口,访问数据订阅通道,订阅并消费增量数据。

数据复制服务提供的数据订阅功能在使用上有一些固定的限制,在进行正式的数据订阅之前,请先阅读以确保各存储引擎已满足使用限制条件。

表2 使用须知

类型名称

使用和操作限制

订阅对象约束

  • 只支持RDS For MySQL实例。
  • 数据订阅的对象目前只支持表级订阅。
  • binlog的binlog_row_image格式必须为full。
  • MySQL存储引擎只支持MyISAM,InnoDB。
  • MySQL字符集只支持LATIN1、GBK、UTF8、UTF8MB4、BINARY。
  • 按事务维度提供订阅数据,只支持单个事务小于10MB数据量的场景。
  • 数据订阅过程中,不允许源数据库MySQL跨大版本升级,否则可能导致数据不一致或者订阅任务失败(跨版本升级后数据、表结构、关键字等信息均可能会产生兼容性改变),建议在该场景下重建订阅任务。

操作须知

  • 数据订阅过程中,不允许删除订阅对象。
  • 一个订阅任务同时只能被一个下游SDK订阅消费,如果用户有多个下游需要订阅同一个RDS实例时,需要创建多个订阅通道。这些订阅任务订阅的RDS实例均为同一个实例ID。
  • 一个下游SDK不可以订阅消费多个订阅任务。
  • 目前支持VPC网络,但是不支持VPC内的容器网络。
  • 由于源库异常、网络中断等造成的DRS订阅任务异常,需要在数据订阅界面续传订阅任务,详细参考续传订阅任务
  • 由于订阅任务当前存在较多订阅对象和操作约束,推荐使用性能、稳定性更高的MySQL到Kafka同步链路进行数据订阅。数据订阅与MySQL到Kafka同步的区别可参考这里
  • 勾选结构更新和数据更新后,DRS将展示整个实例(非所选库)的DDL和DCL更新操作,不进行过滤。如有需要,可使用SDK过滤所需的数据。

前提条件

操作步骤

本小节主要介绍通过数据复制服务控制台,创建数据订阅任务的具体操作。

以下操作以MySQL为示例,详细介绍数据订阅任务的配置流程,其他存储引擎的配置流程类似。

  1. 在“数据订阅管理”页面,单击“创建订阅任务”。
  2. 在“选择订阅源”页面,填选区域、任务名称、描述、订阅源信息,单击“下一步”。

    图1 订阅任务信息
    表3 任务和描述

    参数

    描述

    区域

    当前所在区域,可进行切换。为了降低访问时延、提高访问速度,请就近选择靠近您业务的区域。

    项目

    当前区域对应的项目,可进行切换。

    任务名称

    任务名称在4到50位之间,必须以字母开头,可以包含字母、数字、中划线或下划线,不能包含其他的特殊字符。

    描述

    描述不能超过256位,且不能包含! = < > & ' " \ 特殊字符。

    图2 订阅源信息
    表4 订阅源信息

    参数

    描述

    实例类型

    选择RDS实例。

    源数据库引擎

    选择MySQL。

    RDS实例

    用户所创建的关系型数据库实例。

    企业项目

    企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。请在下拉框中选择所在的企业项目,其中,default为默认项目。

    更多关于企业项目的信息,请参见《企业管理用户指南》

    如果需要自定义企业项目,请在控制台右上角单击“企业”,进入“企业项目管理”页面创建,具体请参见《企业管理用户指南》中“创建企业项目”的内容。

    标签

    可选配置,对订阅任务的标识。使用标签可方便管理您的数据订阅任务。每个任务最多支持20个标签配额。

    如果您的组织已经设定DRS的相关标签策略,则需按照标签策略规则为任务添加标签。标签如果不符合标签策略的规则,则可能会导致任务创建失败,请联系组织管理员了解标签策略详情。

    任务创建成功后,您可以单击任务名称,在“标签”页签下查看对应标签。关于标签的详细操作,请参见标签管理

    对于创建失败的任务,DRS默认保留3天,超过3天将会自动结束任务。

  3. “选择订阅对象”页面,等待实例创建成功后,选择数据订阅的对象,单击“下一步”

    图3 设置订阅对象

    表5 订阅对象

    参数

    描述

    订阅类型

    订阅类型分为数据更新和结构更新。

    • 数据更新:

      订阅已选择数据的增量数据更新。

    • 结构更新:

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

    订阅对象

    数据订阅的订阅对象目前支持表级订阅。您可以根据业务场景选择所需的表。

    如果有切换订阅源的操作,请在选择订阅对象前单击右上角的,以确保待选择的对象为最新的订阅对象。

    选择订阅对象的时候支持搜索,以便您快速选择需要的对象。

  4. “任务确认”页面,设置任务异常通知设置、SMN主题,并确认订阅任务信息无误后,勾选协议,单击“启动任务”,提交订阅任务。

    图4 任务启动设置

    表6 任务启动设置

    参数

    描述

    任务异常通知设置

    该项为可选参数,开启之后,选择对应的SMN主题。当订阅任务状态或时延指标异常时,系统将发送通知。

    SMN主题

    “任务异常通知设置”项开启后可见,需提前在SMN上申请主题并添加订阅。

    SMN主题申请和订阅可参考《消息通知服务用户指南》

    时延阈值

    源数据库和目标数据库之间的同步有时会存在一个时间差,称为时延,单位为秒。

    时延阈值设置是指时延超过一定的值后(时延阈值范围为0到3600s),DRS可以发送告警通知。告警通知将在时延稳定超过设定的阈值6min后发送,避免出现由于时延波动反复发送告警通知的情况。

    说明:
    • 设置时延阈值之前,需要设置任务异常通知。
    • 当时延阈值设置为0时,不会发送通知给收件人。

  5. 订阅任务提交后,您可在“数据订阅管理”页面,查看并管理自己的任务。

    • 您可查看任务提交后的状态,状态请参见任务状态说明
    • 在任务列表的右上角,单击刷新列表,可查看到最新的任务状态。
    • 对于未启动、状态为配置中的任务,DRS默认保留3天,超过3天DRS会自动删除后台资源,当前任务状态不变。当用户再次配置时,DRS会重新申请资源。
    • 对于是失败状态的订阅任务,DRS默认保留14天,超过14天DRS会自动删除后台资源,当前任务状态不变。当用户再次配置时,DRS会重新申请资源。

    当订阅任务创建完成后,需要使用SDK实时订阅任务中的增量数据。具体的操作及注意事项请参考SDK使用说明