故障前后的两个时钟
last recoverable point failure service restored
| | |
|<------- RPO ------->|<------- RTO ----->|
RTO 衡量恢复服务所需时间;RPO 以时间表示可接受的数据丢失量。RPO 为五分钟意味着恢复点最多落后故障时刻五分钟。
设定目标
从业务影响出发:每小时收入、安全、合同罚则。按服务分级,而不是全站一个目标。再选择机制:小时级 RPO 用夜间快照,分钟级用日志传输,接近零用同步复制;分钟级 RTO 用自动故障转移,秒级用双活。必须测量真实恢复和切换时间,未测量的目标只是愿望。
取舍
同步复制降低 RPO,却增加写延迟,并可能因副本变慢而阻塞。自动故障转移降低 RTO,但没有法定人数时有脑裂风险。越接近零,成本和运维复杂度越高。当快速恢复大数据集不可能时,严格 RPO 与严格 RTO 可能冲突。
具体示例
结账服务通过流复制、自动提升和季度演练实现 RTO 一小时、RPO 五分钟;一次演练 38 分钟恢复、滞后 90 秒。分析数仓的 RTO 和 RPO 都是 24 小时,夜间快照即可。两个目标都应有负责人并定期评审。