是什么
割接的核心动作是停写后的增量收敛:业务停止写入源端,等同步工具把剩余差异追平、延迟归零并稳定住,再把应用指向目标端。追不平就按预案判断是继续等待、查瓶颈,还是回滚。整个过程要能回答两个问题:源端是不是真的不再写了,目标端是不是真的追上了。
基本信息
| 前置 | 提前监控延迟曲线,掌握常态化延迟水平,而不是割接当天才第一次看 |
|---|---|
| 停写 | 应用侧停止写入:入口开关、维护页、公告与写接口封禁同步执行 |
| 追平 | 观察延迟归零并稳定若干分钟,稳定时长按业务写入特征确定 |
| 判断 | 超时未归零要按预案决策:扩容追平、延长窗口或回滚 |
| 旁路写入 | 定时任务、后台补单、消息重投是最容易被漏掉的写入来源 |
典型使用场景
- 数据库迁移割接:停写后等同步工具的增量延迟归零,再切连接串
- 对象存储搬迁:停写后做最后一轮增量同步,保证窗口内对象不丢
- 跨机房切换:先切读流量验证,确认无误后再切写流量
- 割接失败需要回滚:也要按同样流程把目标端增量回同步到源端
追平阶段的观察指标
追平阶段的观察指标
# 延迟:同步延迟(秒)应持续归零并保持稳定
# 写入:源端写入每秒请求数确认为零,且无隐藏任务在写
# 目标端:无报错,关注连接数、主键冲突、磁盘剩余空间
# 校验:关键表行数与聚合值比对通过后再放行
# 回滚判据:超出预案时限仍未归零,按脚本回切并复验业务停写清单核对
| 来源 | 检查方式 | 漏掉的后果 |
|---|---|---|
| 应用写接口 | 入口开关或维护页,熔断写请求 | 停写不彻底,数据持续产生新差异 |
| 定时任务 | 作业调度平台确认任务已暂停 | 凌晨批次在割接窗口内写入源库 |
| 消息补偿 | 消费侧确认积压与重投策略 | 补单任务把历史数据重新写回 |
| 人工操作 | 通知到岗人员暂停后台操作 | 运维手工改数据造成两边不一致 |
延迟归零后不要立刻切换,观察一段时间确认稳定:源端偶发写入或工具重试会在这一刻暴露,稳定期内出现新延迟说明停写还有漏洞。
只看同步工具界面显示完成是不够的,工具感知不到源端还有别的写入路径;必须以源端写入指标和业务侧确认双重把关。