配置PolarDB数据层后可以在日常态和切流态通过数据禁写对数据库的数据实现一致性保护,数据保护规则包括Copy、Unit和Mix三种类型,您可以在不同场景下建立数据源、单向或者双向同步链路,然后创建数据保护规则。本文介绍如何配置PolarDB数据层的保护规则。

背景信息

数据保护规则包括Copy、Unit和Mix三种类型:

  • Copy类型的数据保护规则对应强一致业务类型的数据源,建立单向同步链路同步数据。
  • Unit类型的数据保护规则对应最终一致业务类型的数据源,建立双向同步链路。
  • Mix类型对应同一数据源下既有强一致性类型又有最终一致性类型的业务以及非多活业务类型,可以通过表级别粒度控制数据保护规则的数据禁写范围。

步骤一:创建数据源

  1. 登录AHAS控制台
  2. 在控制台左侧导航栏中选择多活容灾
  3. 在控制台左侧导航栏选择异地双活 > PolarDB配置
  4. PolarDB数据层管控页面,单击查看数据源
  5. 数据源列表页面,单击添加数据源,配置相关参数,然后单击提交
    参数 描述 示例
    数据源名称 数据源名称是用户在使用MSHA的多活应用连接的数据库,具体到数据库维度。 北京-商家交易库
    数据源单元 选择需要使用的数据源单元,该单元对应的地域应为PolarDB所在的地域。 杭州中心单元
    数据源类型 多活应用连接的数据库类型,支持的数据库类型包括PolarDB、RDS、DRDS和自建MySQL。

    自建数据库(例如自建MySQL、Redis等)支持的部署位置如下:

    • ECS上的自建数据库。
    • 通过专线、VPN网关、智能接入网关接入的自建数据库。
    • 无公网IP:Port的数据库(通过数据库网关DG接入)。
    • 通过云企业网CEN接入的自建数据库。
    说明 系统已自动识别是PolarDB类型,您无需选择。
    PolarDB
    数据库类型 数据库对应的SQL类型,支持MySQL数据库类型。 MySQL
    选择库信息 选择对应PolarDB的集群信息。
    • pc-bp1n138lv****
    • business_trade
    推送类型 在使用MSHA数据面的SDK或Agent时,为应用所使用的数据库建立的唯一标识。推送类型包括以下2种方式:
    • 实例配置声明:在业务代码使用的JDBC-URL中添加以下后缀。
      jdbc:mysql://host:port/dbName?mshaInstanceId=${实例id}&mshaDbName=${数据库名}
      说明${实例id}${数据库名替换成管控面实际的实例ID和数据库名。
    • 实例库URL:选择该方式,需要在推送标识填写用户在业务代码的JDBC-URL,无需在业务代码中做任何配置。
      说明 数据源有多个JDBC-URL时以半角逗号(,)分割。
    实例库URL
    推送标识 当推送类型为实例URL时,需要填写推送标识。当数据保护规则推送ACM配置中心到数据面SDK或Agent生效时,该值会作为唯一标识来识别业务使用的不同数据源。
    jdbc:mysql://host_01:port/dbName,jdbc:mysql://host_02:port/dbName
    创建数据源成功后,您可以在数据源列表页面查看到创建的数据源。PolarDB1.png
  6. 可选:您还可以在数据源列表页面进行以下操作:
    • 查看数据源状态:数据源最近一次更新表数据的任务执行状态,创建数据源后会默认执行一次更新表数据任务。

      数据源状态包括以下状态:

      • 创建中:完成数据源创建,更新表数据任务前的状态。
      • 正常:数据源最近一次更新表数据任务执行成功。
      • 表数据加载中:数据源最近一次更新表数据任务执行中。
      • 加载失败:数据源最近一次更新表数据任务执行失败
    • 查看数据源详情:单击操作列的详情,查看数据源的详细信息。
    • 查看数据表:单击操作列的查看表,查看数据表信息、更新数据源、以及查看最近一次的更新情况。
    • 更新数据源:单击操作列的更新,更新数据表的最新信息。
    • 删除数据源:单击操作列的删除,然后在对话框中单击确认

(可选)步骤二:创建同步链路

一个双向同步任务包含正向同步链路和反向同步链路;一个单向同步任务只包含正向同步链路。

  1. PolarDB数据层管控页面,单击查看同步链路
  2. 同步链路列表页面,单击添加同步链路
  3. 添加同步链路页面,配置相关参数,然后单击提交
    参数 描述 示例
    同步任务名称 设置同步任务的名称。 中心化商家交易链路
    同步任务类型 公共云仅支持DTS同步任务类型。 DTS
    同步架构 包括单向同步和双向同步:
    • 单向同步:在单向同步的拓扑中,为保障同步数据的一致性,对目标实例中的同步对象只进行读操作,不进行写操作。
    • 双向同步:目前DTS仅支持两个MySQL数据库之间的双向同步。
    说明 关于同步架构的更多信息,请参见数据同步拓扑介绍
    双向同步
    同步任务单元 DTS同步任务归属的单元,DTS同步任务会默认创建在目标实例所在的地域。 杭州中心单元
    创建同步任务方式 包括直接录入和手动创建的方式:
    • 直接录入:如果您在数据传输控制台已经创建一个状态为同步中(双向同步的反向同步链路状态也为同步中)的同步任务,则可以直接选择该同步任务进行录入。
    • 手动创建:如果您在数据传输控制台创建一个同步状态为未配置(双向同步的反向同步链路状态也为未配置)的同步任务,则可以录入该同步任务后,后续再在MSHA控制台进行配置操作。
    说明数据传输控制台的创建同步任务操作,请参见DTS数据同步方案概览
    直接录入
    数据源类型 多活应用连接的数据库类型。
    说明 系统已自动识别是PolarDB类型,您无需选择。
    PolarDB
    源数据源单元 选择需要使用的源数据源单元,对应PolarDB源数据源的地域。 杭州中心单元
    源数据源 选择源数据源地域下PolarDB的集群信息。 北京-商家交易库
    目标数据源单元 选择需要同步的目标数据源单元。 北京单元
    目标数据源 选择目标数据源地域下PolarDB的集群信息。 beijing-test
    创建同步链路成功后,您可以在同步链路列表页面查看到创建的同步链路。同步链路列表.png
  4. 可选:您还可以在同步链路列表页面进行以下操作:
    • 查看同步链路信息:单击操作列的查看,查看同步链路的详细信息。
    • 释放任务:选择任一同步链路,单击释放任务,即可释放该同步任务。
      说明
      • 同步任务为一组正向和反向的同步链路,且有数据保护规则正在进行时则无法释放任务。
      • 若是双向同步链路,选择任一同步链路,会释放正向和反向同步链路,但不会释放在数据传输控制台的链路数据,如需释放该数据请至数据传输控制台上进行操作。

步骤三:创建数据保护规则

  1. PolarDB数据层管控页面,单击创建数据保护规则
  2. 创建数据保护规则页面,配置相关参数,然后单击提交
    参数 描述 示例
    数据保护规则名称 设置保护规则的名称。 中心化商家交易保护规则
    数据保护规则类型 即同步实例的类型,包含以下三种:
    • Copy类型:由中心单元向普通单元单向同步。
    • Unit类型:中心单元和普通单元双向同步。
    • Mix类型:按数据表粒度选择进行中心单元和普通单元的双向同步。
    Copy类型
    同步延迟策略 同步延迟策略在执行切流时生效:
    • 同步延迟时,跳过同步延迟策略:数据保护规则上的同步链路在切流时的同步位点时间没有追赶上切流配置生效时间,不禁止对该实例分组下的写操作SQL语句。
    • 同步延迟时,禁止写策略:数据保护规则上的同步链路在切流时的同步位点时间没有追赶上切流配置生效时间,禁止对该数据源的写操作SQL语句。
    • 同步延迟时,禁止更新策略:数据保护规则上的同步链路在切流时的同步位点时间没有追赶上切流配置生效时间,禁止对该数据源的更新操作SQL语句。
    同步延迟时,禁止写策略
    数据源类型 多活应用连接的数据库类型。
    说明 系统已自动识别是PolarDB类型,您无需选择。
    PolarDB
    数据源信息
    • 选择要保护的2条数据源且最多选择2条。
    • 在选择数据源后,单击查看全部灰度IP,输入应用所在的ECS的私网IP。多个IP请用半角逗号(,)分隔。
    • 北京-商家交易库
    • 杭州-商家交易库
    同步链路 选择匹配的同步链路。 商家交易同步链路
    创建数据保护规则成功后,您可以在PolarDB数据层管控页面查看到创建的保护规则。数据保护规则.png
  3. 可选:您还可以在PolarDB数据层管控页面进行以下操作:
    • 查看PolarDB基础数据:在PolarDB基础数据概览区域,您可以分别查看数据源、同步链路和数据保护规则的总量、正常数量和异常数量。
      数据类型 正常数量 异常数量
      数据源 数据源状态为正常的数量。 数据源状态不为正常的数量。
      同步链路 同步链路状态为同步中的数量。 同步链路状态不为同步中的数量。
      数据保护规则 数据保护规则状态为生效的数量。 数据保护规则状态没生效的数量。
    • 查看数据保护规则状态,包括以下状态:
      • 草稿:新建数据保护规则的状态,或者回滚灰度推送操作后的状态。
      • 灰度生效:灰度推送操作成功后的状态。
      • 生效:全量推送操作成功后的状态。
    • 查看或编辑数据保护规则详情:单击操作列的详情,查看数据保护规则的详细信息,也可以编辑部分信息,然后单击提交
    • 推送历史:单击操作列的推送历史,在推送历史页面,单击操作列的查看,查看数据保护规则历史推送内容。
    • 灰度推送:选中未灰度生效的目标规则,单击左下角的灰度推送,数据保护规则的内容灰度生效到数据面的SDK和Agent。灰度的范围通过在创建数据保护规则上的灰度IP控制,灰度IP为用户应用所在的ECS的私网IP。
    • 全量推送:选中目标规则,单击左下角的全量推送,数据保护规则的内容全量生效到数据面的SDK和Agent。
    • 回滚灰度推送:选中目标规则,单击左下角的回滚灰度推送,将正在灰度生效的数据保护规则回滚。