4.2.4 回滚
变更回滚是指当服务、配置或数据出错时,能顺利恢复到最近一个正确版本的可
逆操作,且回滚范围应同变更前的范围一致。任何线上变更需具备回滚方案,如果发生概率性风险事件或者未知风险导致的系统或业务异常,必须有相关的措施可以第一时间恢复到变更前的状态。
对回滚进行模型提炼和属性解构,根据变更对象恢复到变更前状态的方式,可以
分为两种典型的回滚模式:
1.backward模式
又称回退模式回滚,主要指将变更对象从当前状态回退到变更前状态的回滚方式执行变更前,线上服务处于A状态,变更执行使得线上服务处于B状态,此时进行变更回滚,则线上服务会恢复到变更前的A状态,用状态机表达式可以描述为: roll-back: A->B->A。
2.forward模式
又称前进模式回滚,主要指将变更对象从当前状态再一次变更到新状态,而新状态即为变更前状态值的回滚方式。执行变更前,线上服务处于A状态,变更执行使得线上服务处于B状态,此时进行变更前滚,则线上服务会前进至A'状态,但A'状态同A状态满足内容一致性,用状态机表达式可以描述为:roll-forward: A->B-A'。
回滚五要素
除了回滚模型,还对回滚进行必要属性提炼,以便于后续有能力对变更进行自动化回滚操作。为实现一次成功回滚,需具备如下五个基本要素:变更对象、回滚模式、变更已生效范围、变更对象在变更前的状态值、变更对象在变更后的状态值。