1.灰度测试
灰度测试就是指如果软件要在不久的将来推出一个全新的功能,或者做一次比较重大的改版的话,要先进行一个小范围的尝试工作,然后再慢慢放量,直到这个全新的功能覆盖到所有的系统用户,也就是说在新功能上线的黑白之间有一个灰,所以这种方法也通常被称为灰度测试。类似于我们通常所说的内测。
另一种解释就是将自己的产品首先拿出来给一部分目标人群使用,通过她们的使用结果和反馈来修改产品的一些不足,做到查漏补缺,完善产品的功能,使产品的质量得到提高。这样产品尽早的与用户接触能为以后产品的正式发布打下基础。
这个环节就叫灰度环境。
2.白名单
白名单与黑名单相反,就是允许访问的意思。在灰度测试中,就是允许白名单用户加入灰度环境,享受新产品带来的效果。
3.灰度环境的布局
3.1灰度策略
初期只让一部分用户进入灰度环境,然后根据用户反应,不断修改用户访问量,以及迭代产品开发。
3.2灰度流程
用户信息通过nginx+api网关组合进行代理,分发客户端,nginx+api网关组合会去redis里面查当前用户是否为白名单,如果是,根据灰度策略,让当前用户享受新版本的服务,否则享受旧版本的服务。
reids <<----灰度策略
|
nginx
用户----->> ----->>>生产环境/灰度环境(由路由转发)
API网关