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