外观
灰度发布使用指南 ✨
功能介绍 💡
WARNING
灰度发布(Gray Release)是一种渐进式的发布策略,通过向部分用户推送新版本,实现:
- 🎯 风险可控的版本发布
- 🔍 新功能的效果验证
- 📊 用户反馈的收集
- 🛡️ 系统稳定性保障
应用场景
- ✓ 新功能试点发布
- ✓ 版本平滑过渡
- ✓ A/B测试实验
- ✓ 负载能力评估
配置说明 ⚙️
基础配置参数
参数名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
enabled | boolean | 否 | false | 是否启用灰度发布 |
items | array | 是 | - | 灰度规则列表 |
灰度规则配置 (items)
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
urls | array | 是 | URL规则列表,用于区分不同系统的灰度规则 |
version | string | 是 | 灰度版本号 |
rules | array | 是 | 具体灰度规则配置 |
规则类型说明 (rules)
类型 | 说明 | 示例值 |
---|---|---|
AUTHORIZATION | 基于令牌判断 | "token-xxx" |
IP | 基于IP地址判断 | "192.168.1.*" |
MERCHANT | 基于商户判断 | "merchant-001" |
USER | 基于用户ID判断 | "user-123" |
HEADER | 基于请求头判断 | "custom-header" |
TIP
URL匹配规则详见 URL匹配规则说明
配置示例 📝
基础配置
yaml
wueasy:
gateway:
filter:
gray:
enabled: true
items:
- urls: /**
version: gray-2
rules:
- type: IP
data: 127.0.0.1
多规则配置
yaml
wueasy:
gateway:
filter:
gray:
enabled: true
items:
- urls: /api/**
version: gray-2
rules:
- type: IP
data: 192.168.1.*
- type: USER
data: VIP.*
- urls: /admin/**
version: gray-1
rules:
- type: HEADER
field-name: x-gray-flag
data: test
微服务配置 🔧
Nacos配置
yaml
spring:
cloud:
nacos:
discovery:
metadata:
version: gray-2 # 指定灰度版本号
版本说明 ⚠️
CAUTION
版本号规则:
- 以
gray-
开头的版本号 → 灰度服务 - 空版本号或非gray开头 → 正常服务
- 未匹配到灰度服务 → 自动路由到正常服务
最佳实践 💡
灰度策略
- 从小范围用户开始
- 逐步扩大灰度比例
- 设置合理的回滚机制
监控建议
- 监控灰度服务性能
- 跟踪用户反馈
- 对比新旧版本数据
常见问题 ❓
灰度规则不生效
- 检查enabled是否开启
- 验证version配置是否正确
- 确认rules匹配规则是否准确
服务路由异常
- 检查Nacos配置是否正确
- 确认version命名是否规范
- 验证服务注册状态