灰度发布的策略

1.随机百分比灰度(概率灰度)

按流量比例切,比如 5% → 20% → 100%

实现简单,通常在 网关 / LB / 服务框架​ 层做

缺点:同一个用户可能一会儿新、一会儿旧(除非做 sticky)

适合:无强用户一致性要求的场景,或初期快速验证

2.用户维度灰度(用户ID取模 / 白名单)

用户白名单:明确指定某些用户 / 租ants / 内部账号先灰

用户取模/哈希:hash(userId) % 100 < rate,稳定命中

可结合:用户标签(等级、地域、设备、客户端版本等)

适合:业务语义强、需要"同一用户行为一致"的场景

3.请求属性灰度(规则灰度)

基于单次请求的属性,而不是用户长期归属,比如:

Header / Cookie(可携带灰度标gray)

IP、UA、地域、渠道、API 版本

特定测试账号、内部员工标识

适合:前端灰度、开放平台、ToB 租户灰度

4.全链路灰度

核心是:灰度标(gray flag / traffic tag)在调用链中透传,保证:

入口命中灰度 → 后续所有服务都走灰度版本

未命中 → 都走稳定版本

常见做法:

网关/入口挂灰度标(header / context)

RPC / HTTP / MQ 调用都传递该标

每个服务根据标做版本路由(或走统一路由逻辑)

适合:微服务架构、多系统串联、不能"半新半旧"的业务

相关推荐
Wang's Blog2 小时前
Java 项目实战: 外卖平台优化-Nginx配置文件结构与块层级
java·开发语言·nginx
\光辉岁月/4 小时前
5.java-数组
java·开发语言
谢亮_vipxieliang4 小时前
Spring 事务失效的常见场景
java·开发语言·数据库·spring boot
郑州光合科技余经理4 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
2601_962071574 小时前
类变量和全局变量的生命周期有什么区别?
java·开发语言·jvm
code2cat5 小时前
Java进阶篇之AtomicReference:一次替换引用,读到一份完整状态
java·并发编程·不可变对象·atomicreference
专业程序开发源5 小时前
springboot简历管理系统81389-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
Wang's Blog5 小时前
Java 项目实战: 外卖平台优化-前后端分离开发模式与工程拆分
java·开发语言
HEJOO96 小时前
指针的算术运算详解
java·数据结构·算法
sunshine22 girl6 小时前
Java学习六 Java常见API-2--String-3-字符串的截取替换和其他方法
java·开发语言·学习