Apollo之灰度发布

2022-06-20 13:46:59

1.定义

灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。

2.Apollo实现的功能

1)对于一些对程序有比较大影响的配置,可以先在一个或者多个实例生效,观察一段时间没问题后再全量发布配置。

2)对于一些需要调优的配置参数,可以通过灰度发布功能来实现A/B测试。可以在不同的机器上应用不同的配置,不断调整、测评一段时间后找出较优的配置再全量发布配置。

3.场景介绍

我们将上一篇博客中SpringBoot集成Apollo的项目部署在两台服务器上,用来演示。

灰度目标

我们希望my.test这个配置,对一台服务器灰度发布一个my.test=java,而另一台服务器仍保持不变。

4.创建灰度

1)点击application namespace右上角的 创建灰度 按钮

2)点击确定后,灰度版本就创建成功了,页面会自动切换到 灰度版本 Tab

5.灰度配置

1)点击 主版本的配置 中,要修改的配置最右侧的 对此配置灰度 按钮

2)修改灰度值

6.配置灰度规则

1)切换到 灰度规则 Tab,点击 新增规则 按钮

2)在弹出框中 灰度的IP 下拉框会默认展示当前使用配置的机器列表,选择我们要灰度的IP,点击完成

3)灰度发布

4)发布后,切换到 灰度实例列表 Tab,就能看到某一个服务器已经使用了灰度发布的值

7.全量发布

如果灰度的配置测试下来比较理想,符合预期,那么就可以操作 全量发布 。

全量发布的效果是:

1)灰度版本的配置会合并回主版本,在这个例子中,就是主版本的my.test会变成java 2)主版本的配置会自动进行一次发布 3)在全量发布页面,可以选择是否保留当前灰度版本,默认为不保留

8.放弃发布

如果灰度版本不理想或者不需要了,可以点击 放弃灰度

9.发布历史

点击主版本的 发布历史 按钮,可以看到当前namespace的主版本以及灰度版本的发布历史

  • 作者:空城1995
  • 原文链接:https://yfy1995.blog.csdn.net/article/details/106442954
    更新时间:2022-06-20 13:46:59