You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2021/03/09 06:57:12 UTC

[servicecomb-docs] 01/02: [SCB-2212]improve documents for gray release

This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-docs.git

commit 1bf73fca0c48393f81ee2af17ed144347847f31f
Author: libuao68 <bi...@qq.com>
AuthorDate: Tue Mar 9 11:03:32 2021 +0800

    [SCB-2212]improve documents for gray release
---
 .../zh_CN/docs/references-handlers/router.md       | 27 +++++++++++++---------
 java-chassis-reference/zh_CN/docs/toc.md           |  2 +-
 java-chassis-reference/zh_CN/mkdocs.yml            |  2 +-
 3 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/java-chassis-reference/zh_CN/docs/references-handlers/router.md b/java-chassis-reference/zh_CN/docs/references-handlers/router.md
index 943f8ee..ccb9b1c 100644
--- a/java-chassis-reference/zh_CN/docs/references-handlers/router.md
+++ b/java-chassis-reference/zh_CN/docs/references-handlers/router.md
@@ -1,8 +1,12 @@
-# 路由管理
+# 灰度发布
 
-应用可以通过使用路由管理,来进行灰度发布实现版本的平滑过渡升级。路由管理通过动态配置下发完成。 
+使用灰度发布可以实现版本的零中断升级。假设微服务A当前是v1版本,v1版本存在一个实例,现在需要升级到到v2版本。首先配置一个灰度
+发布规则,将100%的流量指向v1版本;配置规则生效后,部署v2版本;v2版本启动完毕,配置10%的流量到v2版本;当v2版本
+运行稳定,配置100%的流量到v2版本;停止v1版本的实例。
 
-使用路由管理,需要在项目中引入如下依赖:
+* 前提条件:灰度发布依赖负载均衡管理模块, 参考[负载均衡](./loadbalance.md) 。 
+
+使用灰度发布,需要在项目中引入如下依赖:
 
 ```xml
 <dependency>
@@ -13,14 +17,17 @@
 
 在配置文件中增加配置项:
 
-前提条件:配置servicecomb.handler.chain.Consumer.default,在处理链Consumer中配置loadbalance,[loadbalance处理链介绍](./loadbalance.md)。
-
 | 配置项名                                   | 描述                   |
 | ------------------------------------------ | ---------------------- |
 | servicecomb.routeRule.[targetService]      | 目标服务的路由管理规则 |
 | servicecomb.router.type                    | 填写'router'           |
+| servicecomb.router.header                  | 从HTTP请求头中提取额外的可以用于匹配HTTP Header信息。 以逗号分隔的多个 Header 名称。|
+
+* 说明:路由规则里面的 headers 来源分为如下几部分:(1)servicecomb.router.header 配置的 Header 信息;(2)Invocation Arguments,即
+  业务接口的参数列表。关于Invocation Arguments和Swagger Arguments的差异,请参考 Invocation 类。 Invocation Arguments的优先级
+  高于 servicecomb.router.header。 
 
-路由管理规则实例如下:
+灰度发布规则示例如下:
 
 ```yaml
 servicecomb:
@@ -62,14 +69,12 @@ servicecomb:
 
 #### 匹配流程
 
-对于上面的示例配置,所有访问provider服务的请求,首先尝试与优先级为2的第一个的match规则进行匹配header:header存在key为region的按照正则规则区分大小写匹配,存在key为type的进行字符串精准匹配。若匹配match成功则按照route的配置分配100%的流量到version和tags对应的实例。若匹配match失败则进入下个优先级为1的规则。不同规则优先级不能相等。
+对于上面的示例配置,所有访问provider服务的请求,首先尝试与优先级为2的第一个的match规则进行匹配
+header:header存在key为region的按照正则规则区分大小写匹配,存在key为type的进行字符串精准匹配。若匹配
+match成功则按照route的配置分配100%的流量到version和tags对应的实例。若匹配match失败则进入下个优先级为1的规则。不同规则优先级不能相等。
 
 #### 异常情况的处理
 
 如果因为规则配置错误,或者没有match到任何一条规则,流量会直接跳过灰度规则,相当于没有灰度发布配置。
 
 如果已经匹配了match,因为对应的version或者tags找不到实例,则剩余流量自动转发到目前的最新版本。
-
-#### 负载均衡算法
-
-借鉴了nginx,使用平滑加权轮询算法,流量会均匀的等比分配到对应的服务实例上。
\ No newline at end of file
diff --git a/java-chassis-reference/zh_CN/docs/toc.md b/java-chassis-reference/zh_CN/docs/toc.md
index d538447..a645d52 100644
--- a/java-chassis-reference/zh_CN/docs/toc.md
+++ b/java-chassis-reference/zh_CN/docs/toc.md
@@ -79,7 +79,7 @@
     - [处理链介绍](references-handlers/intruduction.md)
     - [负载均衡](references-handlers/loadbalance.md)
     - [限流](references-handlers/ratelimit.md)
-    - [路由管理](references-handlers/router.md)
+    - [灰度发布](references-handlers/router.md)
     - [故障注入](references-handlers/fault-injection.md)
     - [隔离熔断容错](references-handlers/bizkeeper.md)
     - [基于动态配置的流量特征治理](references-handlers/governance.md)
diff --git a/java-chassis-reference/zh_CN/mkdocs.yml b/java-chassis-reference/zh_CN/mkdocs.yml
index 914f192..32e848b 100644
--- a/java-chassis-reference/zh_CN/mkdocs.yml
+++ b/java-chassis-reference/zh_CN/mkdocs.yml
@@ -26,7 +26,7 @@ nav:
       - 处理链介绍: references-handlers/intruduction.md
       - 负载均衡: references-handlers/loadbalance.md
       - 限流: references-handlers/ratelimit.md
-      - 路由管理: references-handlers/router.md
+      - 灰度发布: references-handlers/router.md
       - 故障注入: references-handlers/fault-injection.md
       - 隔离熔断容错: references-handlers/bizkeeper.md
       - 基于动态配置的流量特征治理: references-handlers/governance.md