灰度发布的策略

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

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

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

相关推荐
蓝斯4978 小时前
[原创]《C#高级GDI+实战:从零开发一个流程图》第章:增加贝塞尔曲线,上、下、左、右连接点
java·c#·流程图
前端工作日常8 小时前
我学习到的Java 的 Service 分层:itf 和 impl 到底是什么?
java·后端
都叫我大帅哥9 小时前
Spring @Transactional 注解完全指南
java·spring
Java成神之路-9 小时前
G1 垃圾回收器 :SATB + TAMS核心机制深度解析
java·jvm
前端工作日常9 小时前
我学习到的JIT即时编译与机器码缓存失效
java·后端
带刺的坐椅9 小时前
Solon 的 10 种 HTTP 服务器:改一行依赖,换一个引擎
java·solon·jetty·undertow·mcp-server·htttp
xcLeigh10 小时前
Go入门:变量声明的五种方式详解
java·开发语言·golang
AI大模型-小华10 小时前
Codex 三方充值快速入门指南
java·前端·数据库·chatgpt·ai编程·codex·chatgpt pro
Mark_ZP11 小时前
【锁1】Synchronized vs ReentrantLock区别
java
立心者012 小时前
SpringBoot中使用TOTP实现MFA(多因素认证)
java·spring boot·后端