JAVA全系列 教程
3762个小节阅读:7090.3k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
问题背景
灰度发布是指在 黑和白(0和1)之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,指为产品已发布A版本,在发布B版本时,在同一时间维度,让一部分用户继续用A版本,一部分用户开始用B版本,如果用户对B版本没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B版本上面来。灰度发布可以保证整体系统的稳定,在初始灰度发布时就可以发现及调整问题,以保证其影响度。
灰度发布的好处
灰度发布的几种类型
金丝雀发布
通过在线上运行的服务中,新加入少量的新版本的服务,然后从这少量的新版本中快速获得反馈,根据反馈决定最后的交付形态。
滚动发布
滚动发布则是在金丝雀发布的基础上进行的改进和优化,第一次也是使用金丝雀发布,后续则使用多批次的形式发布剩余实例,每次批次之间会进行观察,如果有问题,再进行回滚。
蓝绿发布
发布策略的比较
综上,建议选择金丝雀或者全链路灰度进行服务的升级发布。
灰度发布流程及实现思路
用户请求--> 网关-->服务a-->服务b
基于网关的灰度发布解决方案
通过网关寻找下层服务之前,通过拦截器处理请求头的参数信息,通过判断数据库中数据当前请求是否符合灰度的要求,如果符合,走灰度服务;否则走正常服务。