文档

可回滚

更新时间:

变更回滚是指当服务、配置或数据出错时,能顺利恢复到最近一个正确版本的可逆操作,且回滚范围应同变更前的范围一致。任何线上变更需具备回滚方案,如果发生概率性风险事件或者未知风险导致的系统或业务异常,必须有相关的措施可以第一时间恢复到变更前的状态。

对回滚进行模型提炼和属性解构,根据变更对象恢复到变更前状态的方式,可以分为两种典型的回滚模式:

  1. backward模式:又称回退模式回滚,主要指将变更对象从当前状态回退到变更前状态的回滚方式。执行变更前,线上服务处于A状态,变更执行使得线上服务处于B状态,此时进行变更回滚,则线上服务会恢复到变更前的A状态,用状态机表达式可以描述为: roll-back: A->B->A。

  1. forward模式:又称前进模式回滚,主要指将变更对象从当前状态再一次变更到新状态,而新状态即为变更前状态值的回滚方式。执行变更前,线上服务处于A状态,变更执行使得线上服务处于B状态,此时进行变更前滚,则线上服务会前进至A'状态,但A'状态同A状态满足内容一致性,用状态机表达式可以描述为:roll-forward: A->B-A'。

回滚五要素

为实现变更的一次成功回滚,需具备如下五个基本要素:变更对象、回滚模式、变更已生效范围、变更对象在变更前的状态值、变更对象在变更后的状态值。

  • 变更对象,是指变更执行所操作的原子资源,例如:应用包、配置项等。

  • 回滚模式,是指采用rollback模式或者forward模式来将变更对象恢复到变更前状态的回滚模式。

  • 变更已生效范围,是指在变更灰度过程中已生效的变更范围。

  • 变更对象在变更前的状态值,是指变更对象在变更前的稳定状态原子描述。

  • 变更对象在变更后的状态值,是指变更对象在变更后的稳定状态原子描述。

  • 本页导读
文档反馈