灰度坏境指在您将编写好的程序发布至全球节点之前,避免程序出现漏洞导致全球节点受影响,从而仅仅在指定的一个或者多个节点上提前测试程序的一个环境。

功能介绍

为了帮助您在发布时控制可能的故障影响,我们提供以区域划分的灰度环境供您控制发布进度。您可以自定义需要的灰度环境区域(例如选择北京、福建、湖南、广东四个区域为灰度环境)。定义了灰度环境后,当您发布代码版本或配置时,即可单独选择任意的灰度环境(例如单独选择北京)进行独立的发布,发布的代码或配置仅对北京区域的边缘节点生效,即仅对调度至北京边缘节点的客户端请求生效。灰度发布部分区域后,您可以观察线上业务情况及用户异常反馈情况,无问题后再继续扩大灰度范围或发布至生产环境。

灰度环境

您将部分区域定义为灰度环境后,这部分灰度环境的节点将不再包含在生产环境中(如上图所示),后续的每次发布都必须对灰度环境单独发布。例如您将V1版本的程序代码发布至生产环境,然后定义了北京、福建、湖南和广东为灰度环境(此时这4个区域的节点已经脱离了生产环境),之后如果将V2版本的代码直接发布至生产环境,则4个灰度区域的边缘节点上仍是运行V1版本代码,您需要将V2版本的程序代码单独发布至北京、福建、湖南和广东4个灰度区域,才能实现所有线上节点都运行V2版本代码的目标。

如果您定义了灰度环境,则每次发布新代码或配置,都遵循测试环境、灰度环境、生产环境的发布顺序,才能发挥灰度发布的作用。

配置灰度环境

  1. 登录阿里云CDN平台/全站加速控制台
    说明 程序需要域名作为入口供客户端访问,域名可使用CDN加速域名或全站加速域名,具体以您域名所在的产品进入对应控制台为准。
  2. 在左侧导航栏,单击边缘程序
  3. 选择一个程序名称,单击详情。在灰度环境 [选配]区域,单击添加灰度环境
    说明
    • 灰度环境被定义时,对应区域的节点将从生产环境剥离,剥离后该区域节点将独立使用灰度环境配置。
    • 如果有新版本在生产环境发布,所有灰度环境中定义的节点需要单独重新发布才可以保持和生成环境版本一致。
    添加
    参数 说明
    灰度区域 选择您需要设置的灰度区域。如果您需要添加两个或者以上区域,重复执行该步骤即可。
    说明 全球划分为35个区域可供您定义为灰度环境使用。
    程序规格
    • 单个请求可用CPU时间片:5 ms;RT最大值120秒,可用内存128 MB
    • 单个请求可用CPU时间片:50 ms;RT最大值120秒,可用内存128 MB
    • 单个请求可用CPU时间片:100 ms;RT最大值120秒,可用内存128 MB
    说明 不同程序规格产生的费用稍有不同。更多信息,请参见计费说明
    程序版本 输入一个您已经生成的程序版本。
    域名白名单 允许关联该边缘程序的域名。例如您设置了example.com,则表示只有example.com的请求可以触发该程序执行,其他域名的请求将被该程序拒绝。域名白名单默认为空,表示任意域名都可关联该程序。支持填写泛域名。
  4. 单击确定

使用灰度环境

  1. 在发布某一个程序版本时,即可任选配置灰度环境中定义的灰度环境,对灰度环境区域的节点单独发布。使用
    说明 您选择福建和重庆2个区域发布版本号为1624328628932318493的代码,则代表只有福建和重庆这两个区域的边缘节点生效,只有调度至这两个区域的用户请求会命中1624328628932318493版本的代码。
  2. 您完成灰度验证后希望将代码发布至全部的线上节点时,需要全选所有您定义的灰度环境和生产环境进行发布,才能覆盖全部的线上节点。如下图所示:全部节点