使用YAML配置无损上下线

对于任何一个线上应用来说,发布、扩容、缩容、重启等操作不可避免。MSE提供的无损上下线功能,为应用启动和下线的多个阶段提供相应的保护能力,例如服务预热、服务延迟注册、主动通知等。本文介绍如何通过YAML方式配置无损上下线。

配置无损上下线规则

  1. 将ACK微服务应用接入MSE治理中心。具体操作,请参见ACK微服务应用接入MSE治理中心

  2. 在应用的工作负载中,配置下述参数。具体参数含义,请参见配置无损上线配置无损下线

    • 字段方式位置:spec > template > metadata > labels

    • 字段含义说明。

      字段

      含义

      默认值

      mse.lossless.enable

      是否开启无损上线规则。

      • true:开启。

      • false:关闭。

      false

      mse.lossless.warmupTime

      预热时长,单位为秒。

      120

      mse.lossless.delayTime

      延迟注册时间,单位为秒。相较于正常状态,应用启动将延迟x(x指所设的值)秒后再向注册中心注册应用或服务。

      0

      mse.lossless.notice

      是否开启服务提供者下线时主动通知消费者。

      false

    • 字段配置样例。

      mse.lossless.enable: 'true'
      mse.lossless.delayTime: '30'
      mse.lossless.warmupTime: '60'
      mse.lossless.notice: 'false'

结果验证

  1. 登录MSE治理中心控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择治理中心 > 应用治理

  3. 应用列表页面,单击目标应用的资源卡片。

  4. 在左侧导航栏,单击流量治理。在无损上下线页签,查看无损上线规则配置已更新为YAML中的配置,可以在应用进行上下线时,在无损上下线功能页面,观测到事件和QPS的曲线表现符合YAML中的配置。

说明
  • 通过YAML方式配置无损上下线规则后,应用会立即重启,重启后新配置的无损上下线规则会生效。

  • YAML中未配置的规则条目,会以自动以默认值方式生效。

  • 同时在应用工作负载的YAML和MSE服务治理控制台上修改应用的无损上下线规则时,会以应用YAML配置为准如果在控制台上修改了无损上下线规则,一旦应用发生重启,应用YAML 中的规则配置会覆盖控制台上现有的配置。