灰度发布的策略

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 调用都传递该标

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

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

相关推荐
nanxun8861 天前
记一次诡异的 Docker 容器"串包"故障排查
java
用户1563068103511 天前
Day01 | Java 基础(Java SE)
java
行者全栈架构师1 天前
Maven dependency:tree 的 8 个高级用法
java·后端
行者全栈架构师2 天前
IDEA 中 Maven 项目的 15 个红色报错快速解决方法
java·后端
令人头秃的代码0_02 天前
mac(m5)平台编译openjdk
java
唐青枫3 天前
Java JDBC 实战指南:从 Connection 到事务和连接池
java
一个做软件开发的牛马3 天前
MyBatis-Plus 从零实战:完整搭建可运行 Demo,BaseMapper 零 SQL、Wrapper 条件构造、分页插件与代码生成器详解
java·后端
用户3721574261353 天前
Java 处理 PDF 图片:提取 PDF 中的图片,并压缩 PDF 图片体积
java
用户3721574261353 天前
Java 打印 Word 文档:从基础打印到高级设置
java
用户3521802454753 天前
当 Prompt 学会"热更新":Spring Boot × Nacos3 AI 实战
java·spring boot·ai编程