git灰度发布版本_GitHub - cailin186/dubbo-gray: dubbo灰度发布系统
在飞速发展的互联网公司,灰度其实就是根据设定的规则将请求路由到我们的灰度版本(灰度机器)上来。比如对于API来说,一般有如下几个需求:特定用户(比如测试帐号)、 特定的App(比如测试app或者合作App)、特定的模块、接口(只有某些接口需要灰度,这种一般是API Container的修改,拿一些不是很重要的API做灰度测试)、特定的机器(某些请求IP转发到灰度机)等。
在传统软件产品发布过程中(例如微软的Windows 7的发布过程中),一般都会经历Pre-Alpha、Alpha、Beta、Release candidate(RC)、RTM、General availability or General Acceptance (GA)等几个阶段(参考Software release life cycle)。可以看出传统软件的发布阶段是从公司内部->外部小范围测试>外部大范围测试->正式发布,涉及的用户数也是逐步放量的过程。
灰度可以解决的问题:
1、在发布过程中降低上线风险
2、降低影响范围,并且范围可控
3、降低对测试的依赖,减少线下自测的数据构造成本
4、特定的请求能够指向特定的服务器,方便集中监控日志,方便跟踪完整的调用链路
5、方便系统流量切入
6、方便回滚
7、指定特定人群,方便系统回访,方便产品需求收集,完善产品功能,提升产品质量
8、在无状态的情况下保障用户使用到的版本一致
9、避免停服给用户带来坏的体验用
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
