05 灰度发布
灰度发布让一部分客户端先读到新配置,验证稳定后再全量转正 —— 适合大流量服务的配置上线。
5.1 灰度页
「灰度发布」页签(当前分支有灰度进行中时的界面):

顶部状态卡显示:灰度序号 #1、稳定版版本号、当前灰度规则摘要。
5.2 灰度规则
三种匹配方式(任一命中即进入灰度):
| 规则 | 说明 |
|---|---|
标签匹配 match_labels |
客户端上报的标签,如 zone=cn-north-1(SDK 传 labels) |
| IP CIDR | 客户端来源 IP 段,如 10.0.0.0/8 |
| 百分比 | 按客户端实例哈希分桶,如 10% |
5.3 灰度发布流程
- 先在「草稿」页编辑新值(灰度内容)并保存草稿
- 「灰度发布」页配置规则 → 「发布灰度」:生成灰度快照(独立序号),命中规则的客户端读到灰度值
- 未命中 / 无身份的客户端仍读稳定版(互不影响)
# 验证灰度命中:带身份头请求数据面快照
curl -s "http://<host>:8384/v1/projects/{p}/branches/dev/snapshot" \
-H "Authorization: Bearer <令牌>" \
-H "X-Dsh-Instance: web-1" -H "X-Dsh-Labels: zone=cn-north-1"
# → gray: true, resolved_version = 灰度序号
5.4 转正 / 下量
| 操作 | 效果 |
|---|---|
| 一键转正 | 灰度内容成为新稳定版本,灰度清空 |
| 一键下量 | 立即撤销灰度,灰度客户端回落到稳定版 |
- 转正 / 下量都会向灰度客户端补发事件(
gray=true),客户端据此重拉对应版本 - 灰度期间断线的客户端重连时自动回落(快照重锚)
下一步
- 06 共享库:跨项目复用配置项与自动级联
Defing 配置中心 · 使用教程(截图来自测试实例 http://172.16.48.71:18384)