强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan
【前言】
在上一篇博文《灰度实战(三):Apollo配置中心(3)》中讲解了Apollo如何动态更改程序中连接第三方中间件连接池,在本篇博文中为大家带来如何通过Apollo实现灰度配置。
【灰度配置演示】
一、环境准备
1、演示代码:
(1)以《灰度实战(二):Apollo配置中心(2)》中@value注入为例;
(2)代码地址:https://github.com/dangnianchuntian/gray
2、环境说明:
(1)灰度发布针对是集群(至少两台服务器),在此以机器:172.16.11.223 (以下简称223)和 172.16.11.230(以下简称230)为例子;
(2)代码启动脚本(利用命令指定优点:应对多环境部署):
// apollo_meta 为服务器的Apollo地址
java -jar -Dapollo_meta=http://172.16.11.226:8088 -Dapp_ip="gray_test" -Dapollo_namespaces=grayapollo gray-apollo.jar
二、灰度展示
1、程序启动从Apollo上读取配置文件

(1)示意图
(2)在swagger上调用接口验证
a.调用223服务器
b.调用230服务器
2、部分灰度(对230进行灰度)
(1)示意图
(2)进行Apollo进行相关配置
a.点击灰度
b.创建灰度
c.修改需要进行灰度的灰度项配置(将zh.int值由8改为230)
d.新增灰度规则
e.选择230ip进行灰度
f.进行灰度发布
g.查看230服务器的日志(发现更新已经推送过来)
h.查看223服务器的日志(未推送)
(3)调用swagger接口进行验证
a.调用230(发现已经为灰度值)
b.调用233
3、全量灰度
(1)示意图
(2)Apollo操作
(3)验证同部分灰度,不再赘述
4、放弃灰度
(1)示意图
(2)Apollo操作
(3)验证同部分灰度,不再赘述;
三、项目地址
灰度实战:https://github.com/dangnianchuntian/gray
【总结】
1、本节为大家演示如何用Apollo进行灰度调整程序的配置文件值。
2、在接下来的灰度程序中会对这个功能的应用体会更加深刻。