文档

管理灰度规则(Java)

更新时间:
重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

对于部署在SAE的Spring Cloud或Dubbo微服务应用,为了确保升级操作的安全性,您可以通过启用灰度发布(即金丝雀发布)的灰度规则进行小规模验证,验证通过后再全量升级。

前提条件

  • 已部署Spring Cloud或Dubbo微服务应用。具体操作,请参见以下文档:

  • 根据应用类型判断是否需要开通微服务引擎 MSE(Microservices Engine)微服务治理专业版。具体操作,请参见开通MSE微服务治理

    • 存量应用:2023年11月08日00:00前创建的应用,无需开通MSE服务治理专业版或企业版,后续部署应用也不会产生MSE计费。

    • 新增应用:2023年11月08日00:00起新建的应用,使用无损上下线与灰度规则功能需要开通MSE微服务治理专业版,使用限流降级功能需要开通MSE微服务治理企业版。用户升级MSE企业版后,未开启限流降级功能的应用依然按照专业版进行计费,只有开启限流降级功能的应用才会按照企业版计费。

    关于MSE微服务治理计费的更多信息,请参见计费概述【产品变更】SAE集成的MSE微服务治理功能商用通知

背景信息

如果您的应用有多个应用实例且需要升级,可以按需通过灰度或分批发布方式升级应用实例版本。其中,针对Spring Cloud和Dubbo微服务的灰度发布需要启动灰度规则才能实现。更多信息,请参见灰度发布应用

创建灰度规则

  1. 登录SAE控制台
  2. 在左侧导航栏,选择应用管理 > 应用列表,在顶部菜单栏选择地域,然后单击具体应用名称。

  3. 进入灰度规则页面。

    • 存量应用:在左侧导航栏,单击灰度规则,然后在灰度规则页面,单击新建灰度规则

    • 新增应用:在左侧导航栏,选择微服务治理 > 灰度规则,然后在灰度规则页面,单击新建灰度规则

      说明

      如果您是第一次使用该功能,需要在该页面单击开启微服务治理并刷新页面,才能配置灰度规则。

  4. 新建灰度规则面板,执行以下操作,然后单击确定

    SAE支持的灰度规则是按内容灰度,您所需配置的信息会因应用框架而异。

    配置项

    说明

    规则类型

    • 七层流量灰度(K8s ingress):可以实现在灰度批次发布过程中,将特定标记的七层流量打到灰度批次的实例上。

    • 微服务流量灰度:可以实现在灰度批次发布过程中,将特定标记的流量打到灰度批次的实例上。

    规则名称

    设置灰度规则名称。

    规则描述

    对灰度规则的自定义描述。

    灰度类型

    根据内容灰度。

    网关实例(ALB ingress)

    规则类型七层流量灰度(K8s ingress)时需要配置。

    SAE基于ALB实现的网关路由(Ingress),具备根据域名、路径路由到不同应用的能力。您需要先为应用配置ALB实例,并创建路由规则。具体操作,请参见为应用设置路由规则(ALB)

    灰度的服务

    规则类型七层流量灰度(K8s ingress)时需要配置。

    选择需要灰度的应用及对应端口。

    框架类型

    规则类型微服务流量灰度时需要配置。

    配置灰度规则应用的框架类型。

    • Spring Cloud:需要设置Path

    • Dubbo:需要选择服务方法

    条件模式

    规则类型微服务流量灰度时需要配置。配置灰度规则应用的条件模式。

    选择同时满足下列条件满足下列任一条件

    条件列表

    单击+添加新的规则条件,可以添加多条规则。

    • 微服务灰度流量

      • Spring Cloud:根据参数类型CookieHeaderParameter,设置相应的参数条件以及

      • Dubbo:根据应用实际情况,设置参数参数值获取表达式条件以及

    • 七层流量灰度

      根据参数类型CookieHeader来源ip,设置对应的参数

    创建成功后,可以在灰度规则页面,查看刚创建的灰度规则。同时,新建灰度规则按钮已置灰。单击目标规则名称,可以在灰度规则详情面板,查看规则内容。灰度规则详情

编辑或删除灰度规则

  1. 登录SAE控制台
  2. 在左侧导航栏,选择应用管理 > 应用列表,在顶部菜单栏选择地域,然后单击具体应用名称。

  3. 在左侧导航栏,选择微服务治理 > 灰度规则或单击灰度规则,然后在灰度规则页面,找到目标灰度规则,在其操作列,按需选择编辑删除,并根据页面提示操作。

针对新增应用,开通MSE微服务治理功能后,即使您已删除灰度规则,MSE仍然在持续计费。您可以参考以下信息,决定是否关闭微服务治理功能。

如果您无需使用微服务治理功能,为避免产生不必要的MSE费用,可以在应用基本信息页面右上角,选择更多 > 关闭微服务治理,根据页面提示信息,关闭微服务治理功能。

警告

关闭微服务治理功能后,除服务列表外,其他微服务治理功能(包括无损上下线、灰度规则和限流降级)将无法使用,且关闭过程中会触发一次应用重启,请自行判断业务风险后再进行操作。