通过数据订阅功能,您可以实时订阅源库的增量数据,轻松帮助业务实现轻量级缓存更新、业务异步解耦、含ETL逻辑的数据实时同步等场景。本文将介绍如何创建RDS MySQL数据订阅通道。

注意事项

  • 由于使用gh-ost或pt-online-schema-change等类似工具执行在线DDL变更不会被订阅到,客户端在将消费到的数据写入目标表时可能会因为表结构不一致而导致写入失败。
  • 如果订阅的源数据库还处于其他任务中(例如该数据库还存在于某个正在运行的数据迁移任务中),您可能会订阅到订阅对象以外的数据,此类场景中,您需要手动在订阅客户端中过滤掉不需要的数据。

操作步骤

  1. 购买数据订阅通道,详情请参见购买数据订阅任务
  2. 登录数据传输控制台
  3. 在左侧导航栏,单击数据订阅
  4. 数据订阅列表页面上方,选择订阅通道所属地域。
  5. 定位至已购买的数据订阅通道,单击配置订阅通道
  6. 配置数据订阅的源库信息和网络类型。数据订阅源实例
    类别配置说明
    订阅名称DTS会自动生成一个订阅名称,建议配置具有业务意义的名称(无唯一性要求),便于后续识别。
    源库信息实例类型根据源实例的类型进行选择,本案例选择RDS实例
    说明 当源库为自建数据库时,您还需要执行相应的准备工作,详情请参见准备工作概览
    数据库类型固定MySQL,不可变更。
    实例地区购买数据订阅通道时选择的地域,不可变更。
    RDS实例ID选择待订阅的RDS实例ID。
    说明 暂不支持以只读实例、临时实例作为数据订阅的源实例。
    数据库账号填入待订阅的RDS数据库账号。
    说明
    • 账号需要具备REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW和待订阅对象的SELECT权限。
    • 当源RDS实例的数据库类型为MySQL 5.5MySQL 5.6时,无需配置数据库账号数据库密码
    数据库密码填入待订阅的RDS数据库账号对应的密码。
    网络类型
    • 经典网络
    • 专有网络

    设置数据订阅实例所属的网络类型。

    说明
    • 如您的数据订阅客户端部署在本地,则可以任意选择经典网络专有网络
    • 如您的数据订阅客户端部署在ECS实例上,则建议选择同ECS一致的网络类型。例如ECS是专有网络,那么此处的网络类型选择为专有网络,并指定ECS所属的专有网络虚拟交换机
    • 通过内网地址进行数据订阅时,网络延迟最小。
    • 经典网络

      如果设置为经典网络,那么无需其他配置。关于经典网络介绍请参见经典网络

    • 专有网络

      如果设置为专有网络,您还需要选择专有网络虚拟交换机。关于专有网络介绍请参见专有网络

  7. 上述配置完成后,单击授权白名单并进入下一步

    如果源数据库是阿里云数据库实例(例如RDS MySQL云数据库MongoDB版等),DTS会自动将对应地区DTS服务的IP地址添加到阿里云数据库实例的白名单;如果源数据库是ECS上的自建数据库,DTS会自动将对应地区DTS服务的IP地址添到ECS的安全规则中,您还需手动在ECS上的自建数据库中添加对应地区DTS服务的IP地址,以允许来自DTS服务器的访问;如果源数据库是IDC自建数据库或其他云数据库,则需要您手动添加对应地区DTS服务的IP地址,以允许来自DTS服务器的访问。DTS服务的IP地址,请参见DTS服务器的IP地址段

    警告 DTS自动添加或您手动添加DTS服务的公网IP地址段可能会存在安全风险,一旦使用本产品代表您已理解和确认其中可能存在的安全风险,并且需要您做好基本的安全防护,包括但不限于加强账号密码强度防范、限制各网段开放的端口号、内部各API使用鉴权方式通信、定期检查并限制不需要的网段,或者使用通过内网(专线/VPN网关/智能网关)的方式接入。
  8. 在弹出的创建订阅账号对话框中,等待账号创建完成后单击下一步
    说明 只有当源RDS实例的数据库类型为MySQL 5.5MySQL 5.6时,才需要经过此步骤。在此步骤中,DTS会在源实例中创建用于数据订阅的数据库账号。
  9. 配置需要订阅的数据类型和订阅对象。选择订阅类型和对象
    配置说明
    需要订阅的数据类型
    • 数据更新

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

    • 结构更新

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

    说明
    • 如果选择整个库作为订阅对象,那么该库中新增对象的增量数据也可以被订阅到。
    • 如果选择某个表作为订阅对象,那么只有这个表的增量数据可以被订阅到。此时如果需要加入一个新的表作为订阅对象,您需要将其加入至订阅对象中,详情请参见修改订阅对象
    订阅对象

    订阅对象框中将想要订阅的对象选中,单击向右小箭头图标将其移动到已选择对象框。

    说明 订阅对象支持选择的粒度为库、表。
  10. 上述配置完成后,单击页面右下角的保存并预检查
    说明
    • 在订阅任务正式启动之前,会先进行预检查。只有预检查通过后,才能成功启动订阅任务。
    • 如果预检查失败,单击具体检查项后的提示图标,查看失败详情。根据提示修复问题后,重新进行预检查。
  11. 预检查对话框中显示预检查通过后,关闭预检查对话框。

配置完成后,数据订阅通道会进入初始化阶段,这个阶段一般会持续1分钟左右。初始化完成后即可进行新增消费组与消费订阅数据的操作。

下一步

  1. 新增消费组
  2. 使用Kafka客户端消费订阅数据
  3. 使用SDK示例代码消费订阅数据