
# 灰度发布
weather-beta是weather的新版本，提供了紫外线查询功能。升级weather-beta，需要先将少部分请求引流到新版本做功能验证，功能验证正常的情况下，再下线老版本。在升级过程中，需要保证客户的请求不能出现中断，在部署新版本的过程中不给新版本导流，在下线老版本前已经将老版本的流量全部切走。
ServiceStage提供了灰度发布功能，可以达到上述目的。
本章节演示通过使用ServiceStage的灰度发布功能部署weather服务的新版本weather-beta。
1. 登录[ServiceStage控制台](https://console.huaweicloud.com/servicestage/?locale=zh-cn#/overview)。
2. 单击"应用管理"。
3. 单击应用名称（例如：weathermap），进入"应用概览"页。
4. 在"组件列表"，单击weather组件名称，进入组件概览页。
5. 在页面右上角，单击"升级"。
6. 选择"灰度发布"，单击"下一步"。
7. 根据部署天气预报微服务时的组件部署方式，设置灰度版本配置信息。 
   - [源码部署方式](https://support.huaweicloud.com/bestpractice-servicestage/servicestage_05_0003.html)，参考下表设置必填参数，其余参数保持默认。
     
     | 参数           | 说明                                                                                                            |
     |:---|:---|
     | 编译命令         | 选择"使用默认命令或脚本"。                                                                                                |
     | Dockerfile地址 | 输入： ``` ./weather-beta/ ```                                            |
     | 组件版本         | 单击"自动生成"，默认以您单击"自动生成"时的时间来生成版本号。格式为yyyy.mmdd.hhmms，s取时间戳中秒数的个位值。例如：时间戳为2022.0803.104321，则版本号为2022.0803.10431。 |
        
     
   
   - [软件包部署方式](https://support.huaweicloud.com/bestpractice-servicestage/servicestage_05_0006.html)，参考下表设置必填参数，其余参数保持默认。
     
     | 参数   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
     |:---|:---|
     | 上传方式 | 1. 鼠标移动到weather-1.0.0.jar软件包名称上。  2. 单击![](https://support.huaweicloud.com/bestpractice-servicestage/zh-cn_image_0000002196951204.png)。  3. 选择[下载并上传天气预报组件软件包](https://support.huaweicloud.com/bestpractice-servicestage/servicestage_05_0007.html#servicestage_05_0007__section71376213241)时已上传的weather-beta-2.0.0.jar软件包。   |
     | 组件版本 | 单击"自动生成"，默认以您单击"自动生成"时的时间来生成版本号。格式为yyyy.mmdd.hhmms，s取时间戳中秒数的个位值。例如：时间戳为2022.0803.104321，则版本号为2022.0803.10431。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
        
     
   
   
   
   
8. 参考下表设置组件"灰度策略配置"信息，其余参数保持默认。 
   
   | 参数       | 说明                                                                                                                                                                                                                                                                                                                                                   |
   |:---|:---|
   | 部署架构     | 1. 单击"选择"。  2. 选择"类型二：注册到微服务中心（微服务B实现灰度）"。  3. 单击"确定"。   |
   | 灰度策略     | 选择"基于流量比例"。                                                                                                                                                                                                                                                                                                                                          |
   | 选择流量比例   | - 灰度流量比例：设置为50%，即引入到新版本的流量比例为50%。  - 当前流量比例：自动调整为50%，即引入到当前版本的流量比例为50%。                                                                                |
   | 灰度实例新增模式 | 选择"金丝雀（先增后减）"。                                                                                                                                                                                                                                                                                                                                       |
   | 首批灰度实例数量 | 设置为1。                                                                                                                                                                                                                                                                                                                                                |
   | 剩余实例部署批次 | 设置为1。                                                                                                                                                                                                                                                                                                                                                |
      
   图1设置组件灰度策略配置信息   
   ![](https://support.huaweicloud.com/bestpractice-servicestage/zh-cn_image_0000002268927010.png "点击放大")
   
   
9. 单击"升级"。 
   等待组件状态由"升级/回滚中"转换为"灰度发布中"，表示已成功完成组件灰度发布。
   灰度发布成功后，会给weather微服务接入的ServiceComb引擎下发"servicecomb.routeRule.weather"配置项。
   您可以在"微服务引擎 \> 配置管理"下查看到该配置项。
   
   
10. 确认灰度版本工作正常。 
    [访问应用](https://support.huaweicloud.com/bestpractice-servicestage/servicestage_05_0008.html#servicestage_05_0008__section15561110125120)，多次刷新天气预报页面，可以看到界面会根据灰度策略，周期性地显示当前版本界面和灰度版本界面。
    图2当前版本界面（无紫外线数据）   
    ![](https://support.huaweicloud.com/bestpractice-servicestage/zh-cn_image_0000002232390945.png "点击放大")
    
    图3灰度版本界面（有紫外线数据）   
    ![](https://support.huaweicloud.com/bestpractice-servicestage/zh-cn_image_0000002232390957.png "点击放大")
    
    
 
