帮助中心
渐进式发布与回滚

功能开关文章中描述了很多 feature flags 的功能场景,但也欠缺一些不足,如:

  • 千人千面的发布与回滚
  • 渐进式的发布与回滚

渐进式发布与回滚

渐进式发布与回滚,又可称为灰度发布、灰度测试。即将新的功能特性对一部分人打开,根据使用情况按比例递增依次开放直至百分之百。比如研发团队实现了一个"计算一个城区对奶制品需求的热力图"功能,为了让功能在正式对外开放前,渐进式发布,以保障让交付风险降至最低(如BUG影响用户使用,数据使用的法律风险等):

1. 在生产环境对PM、QA团队开放,如果有BUG则修复,没有BUG则执行第2步

2. 在生产环境对忠实的愿意公测的客户开放,如果有BUG则秒级回滚,并同时修复,没有BUG则执行第3步

3. 对市场上10%的客户开放,如果有BUG则秒级回滚至第2步,并同时进行修复,没有BUG则执行第4步

4. 对市场上30%的客户开放,如果有BUG则秒级回滚至第3步,并同时进行修复,没有BUG则执行第5步

5. 对市场上100%的客户开放,如果有BUG则秒级回滚至第4步,并同时进行修复。

上面的秒级回滚,从技术角度是无需重新部署的,只需要在敏捷开关后台调整即可。具体操作如下:

1. 调整true的百分比,即将功能发布给对应百分比的人群。如图中30%的用户可以使用"计算一个城区对奶制品需求的热力图"功能。

2. 如果需要回滚,也只是把百分比调回上一次的设置即可,比如将true左侧的30%变回10%,false左侧的70%变回90%即可。

千人前面的发布与回滚

在持续创新、精益创业的真实场景中,我们往往会更明确的将功能发布给指定的一类客户。而往往我们需要对这一类客户做渐进式发布和回滚。此时我们可以使用"自定义规则"去筛选我们需要发布的客户群,并在其规则中将返回值调为百分比匹配即可。如下图所示,渐进式发布和回滚的调整方法与上一章节讲述的一致。

解耦Feature与版本的灰度

与功能开关相同,敏捷开关提供的渐进式发布能力,是基于功能特性而非版本的。这种能力可以彻底解放传统软件工程对业务实验、探究和增长的束缚。

最后更新于 2022/05/30
未能解决您的问题?请联系
评价此篇文档
有帮助
没帮助

请留下具体问题或建议

能够解决我的问题
我还有其他想说的
本篇目录