二、背景信息
数据订阅 2.0 在架构层面进行了全面升级,从地域共享的自建 Kafka 集群切换为每个用户独立的云产品 CKafka 实例,彻底消除"邻居效应"。升级过程中,系统会自动创建一个与 1.0 任务并行运行的 2.0 影子任务,通过 GTID 位点映射确保数据连续性,支持消费组级别的精细化切换和回滚。
三、实现机制
升级流程分为 4 个阶段,系统会自动管控阶段流转:
| 阶段 | 说明 |
| 创建影子任务 | 系统在 2.0 CKafka 上创建与 1.0 同配置的影子订阅任务,自动同步源库表结构。 |
| 数据追平 | 影子任务开始追赶 1.0 的消费进度,通过 GTID 差距事务数衡量追平状态。 |
| 升级切换 | 按消费组粒度进行切换,每个消费组需完成同步位点、修改配置、重启服务、确认消费 4 步。 |
| 完成升级 | 系统异步执行收尾操作:释放 1.0 任务资源、删除测试消费组。 |
数据追平判断标准:当 2.0 影子任务与源库的 GTID 差距事务数小于 5 时,系统判定为已追平,允许进入升级切换阶段。
消费组切换状态:每个消费组独立管理切换进度,状态为 pending(未切换)或 upgraded(已切换完成)。只有所有业务消费组(不含测试消费组)都处于 upgraded 状态时,才能触发完成升级操作。
四、注意事项
·升级切换窗口期为 3 天,请在窗口期内尽快完成所有消费组的切换操作。超期未完成迁移,系统将自动释放老版本任务。
·升级过程中,Topic、消费组名称(group.id)、用户名和密码均保持不变,仅需修改 bootstrap.servers 接入点地址。
·完成升级后将无法再回到升级页面进行切换/回滚操作,1.0 任务释放后对应实例将被回收。
·如果消费端使用容器化部署,建议在重启消费者服务时采用滚动重启方式,避免业务中断。
·新版 2.0 订阅实例默认仅可被 VPC 内的 CVM 所访问,如需跨 VPC 访问,需额外配置云联网 。
五、前提条件
·已拥有数据订阅 1.0(原 Kafka 版)运行中的订阅任务。
·已确认消费端所在的 VPC 和子网信息。
·已在上述 VPC 内准备一台 CVM 实例,用于升级切换过程中的消费测试验证。
七、步骤一:发起升级
1. 登录 DTS 控制台,在左侧导航栏选择数据订阅。
2. 在数据订阅列表中,找到需要升级的 1.0(原 Kafka 版)订阅任务,单击订阅 ID/名称列的升级 2.0。
八、步骤二:创建影子任务
1. 在创建影子任务页面,左侧展示当前版本 1.0(原 Kafka 版)的订阅信息(订阅 ID、Kafka 接入点、Topic),右侧展示新版本 2.0 的订阅信息。
2. 在右侧网络设置中,选择消费端所在的 VPC 和子网,单击生成影子任务。
注意:说明:
注意:新版 2.0 订阅实例默认仅可被同一 VPC 内的 CVM 访问,如需跨 VPC 访问,需要额外配置云联网服务。
3. 系统开始创建 2.0 影子任务并进行数据同步,生成影子任务成功后,单击下一步,数据追平测试。
4. 在弹出的对话框中,单击确定。
九、步骤三:数据追平
在数据追平页面,等待数据追平,当出现绿色提示数据已追平,可进行“升级切换”时,单击下一步,升级切换。
注意:说明:
注意:数据追平要求:1.0 和新版本 2.0 与源库的 GTID 差距事务数均需小于 5 才可进入升级切换。
十、步骤四:升级切换(需用户介入)
进入升级切换阶段后,需要对每个消费组逐一完成切换操作。DTS 提供两种切换方案:
·方案 A(逐个切换):查看消费组信息 > 新增测试消费组 > 测试消费组点“切换步骤”按提示操作直到确认完成 > 其余消费组逐一按照上一步操作。
·方案 B(一键切换):查看消费组信息 > 全选所有消费组 > 一键同步所有位点 > 一键确认完成。
十一、消费组切换步骤(逐个切换)
对每个消费组,单击右侧新版本2.0消费组操作列的切换步骤,进入切换流程:
第 1 步:同步位点
将该消费组在 1.0 中的消费位点同步到 2.0,确保切换后不丢失消费进度,单击同步位点。
注意:说明:
第 2 步:修改 Kafka 接入点配置
将消费端配置中的 bootstrap.servers 修改为新的 2.0 接入点 IP,其他配置项保持不变。
修改完成后,单击已完成配置修改,下一步。
第 3 步:重启消费者服务
重启消费端进程,使配置变更生效,单击已完成。
注意:说明:
第 4 步:确认消费正常
观察消费数据,确认可以正常接收并消费数据,单击确认完成,在弹出的对话框中,单击确认完成。
注意:说明:
十二、消费组回滚操作
1. 如果在切换过程中发现异常,可以对已切换的消费组进行回滚。单击右侧新版本2.0消费组操作列的回滚。
2. 在弹出的对话框中,单击确认回滚执行回滚操作。
注意:说明:
十三、批量操作
如选中 1.0 侧消费组,可对所选组执行以下批量操作:
·新增测试消费组:添加测试用消费组进行切换验证。测试消费组会同时在 1.0 和 2.0 两侧创建,用于验证切换流程。完成升级时系统会自动删除所有测试消费组。
·一键同步所有位点:对所有选中消费组同时执行位点同步。
·一键确认完成切换升级:对所有选中消费组同时标记切换完成(需确保所有选中组的消费端已完成配置修改和重启)。
十四、步骤五:完成升级
1. 当所有业务消费组(不含测试消费组)均完成切换流程后,单击页面下方下一步,完成升级。
2. 在弹出的完成升级对话框中,单击确认。
注意:说明:
3. 升级完成后,在完成升级页面展示切换成功信息:
·切换信息:订阅 ID、订阅名称、切换时间、升级耗时。
·新连接信息:Bootstrap Servers(Kafka 接入点)、Topic、源实例、网络类型、所属网络、子网。
4. 单击完成,返回订阅列表。
十五、后续步骤
·升级完成后,建议持续观察消费端的消费状态,确认数据正常消费。
·如需配置监控告警,请参考 配置数据订阅告警策略。
·如需了解订阅 2.0 与 1.0 的详细差异,请参考 数据订阅 2.0 升级说明。
十七、Q1:升级窗口期过期后会发生什么?
升级窗口期为 3 天,如果超期未完成迁移切换,系统将自动释放老版本 1.0 任务。系统会在下线 1.0 实例前进行通知提醒。
十八、Q2:升级后 Topic 和消费组名称会变吗?
不会变化。2.0 版本会自动创建与 1.0 同名的 Topic,平台在 2.0 CKafka 上预创建同名消费组,用户名和密码也保持不变。仅需修改 bootstrap.servers 接入点地址。
十九、Q3:升级是否收取额外费用?
不收取额外费用。升级前后价格完全一致(720 元/月)。
20、Q4:消费端在不同 VPC 中,如何访问 2.0 订阅实例?
新版 2.0 订阅实例默认仅支持同一 VPC 内的 CVM 访问。如果消费端 CVM 在其他 VPC 中,需要配置云联网来实现跨 VPC 访问。