适用场景

CDC 的价值是"准实时、低侵入"地把数据库变更送出去:同步到数仓、刷新缓存、驱动搜索索引。前提是位点管理与幂等处理要做好。

配置步骤(一致性保障与去重)

# 1) 消费端按业务主键做幂等(去重表或 Redis 标记)
# 2) 处理顺序:同一主键的变更按顺序消费(按主键分区)
# 3) 全量+增量切换:先全量快照,记录位点,再从位点接增量

关键参数与建议

  • 前置条件:开启 binlog(ROW 模式)、复制账号权限最小化
  • 位点管理:记录消费位点,重启后不丢不重
  • 幂等:消费端按主键或唯一 ID 去重
  • 监控:延迟、位点落后、连接断开告警
  • 全量 + 增量:首次全量初始化,之后增量追平

容易踩的坑

  • 未做幂等,消息重复导致数据翻倍
  • 并发消费破坏顺序,状态回退
  • 全量与增量切换期间数据丢失

验证与巡检

# 验证:发送重复事件,确认只入库一次;比对源表与目标表行数
  • 巡检:对账结果、重复处理日志

小结

CDC 的验收标准:模拟主库写入,目标端秒级可见;断开重连后不丢数据不重复;延迟可监控有告警。

> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。