复制延迟是什么
复制延迟是从库落后主库的时间差或位点差。业务表现包括读到旧数据、统计口径出现偏差,以及故障切换时丢失更多数据。它通常不是持续故障,而是由批量写入、大事务或网络抖动引起,因此治理重点是找到并限制突发的写入峰值。
怎么缓解
关键读取走主库、会话内保证读己之写、给缓存加版本号,都是常见的应用侧缓解手段;根本手段是控制写入峰值并把大事务拆小。延迟持续升高时,先看主从的传输线程与重放线程状态,再决定限速、错峰还是把关键读流量切回主库。
基本信息
| 监控指标 | 复制延迟秒数、位点差(日志位置) |
|---|---|
| 业务缓解 | 关键读取走主库、会话一致性、缓存版本号 |
| 切换阈值 | 延迟超过阈值时不应自动切换,避免丢更多数据 |
| 根因 | 批量任务、大事务、网络抖动、单线程重放 |
延迟处置参考
| 延迟水平 | 处置 |
|---|---|
| 秒级波动 | 观察,确认是否受批量任务影响 |
| 持续升高 | 检查主从传输与重放线程,必要时限速写入 |
| 超过切换阈值 | 关键读流量切主库,暂停计划内切换 |
| 接近容量上限 | 扩容副本或拆分写入热点 |
典型使用场景
- 大促或秒杀:批量写入造成延迟飙升,需要错峰与限流
- 报表与实时查询并存:同一副本上互相影响,需要按用途拆分
- 数据迁移与回填:大表更新必须限速,避免压满复制通道
- 故障切换决策:延迟超阈值时禁止自动切换
- 会话一致性:用户刚提交的数据必须立即可读
复制延迟指标在不同系统里的含义不同,可能是时间差也可能是字节差,跨系统比较或设置告警前先确认口径。