全部产品
Search
文档中心

Serverless 应用引擎:设置微服务无损下线

更新时间:Jan 02, 2024

线上应用在服务更新部署过程中,需要尽量保证客户端无感知,即从应用停止到重启恢复服务的阶段不能影响正常的业务请求。由于微服务应用自身调用特点,在高并发下,服务提供端应用实例的直接下线,会导致服务消费端应用实例无法实时感知下游实例的实时状态,因而出现继续将请求转发到已下线的实例,从而出现请求报错,导致流量有损。因此,在应用执行部署、停止、回滚、缩容和重置时,需要通过无损下线配置来保证应用正常关闭。

前提条件

已创建微服务应用。具体操作,请参见创建应用

设置无损下线

警告

重新部署应用后,该应用将会被重启。为避免业务中断等不可预知的错误,请在业务低峰期执行部署操作。

更新应用配置的路径因实例数的不同而不同。本文以实例数大于等于1为例,介绍如何配置目标功能。当实例数等于0时的操作路径,请参见更新应用

  1. 登录SAE控制台

  2. 在左侧导航栏,单击应用列表,在顶部菜单栏选择地域,然后单击具体应用名称。

  3. 基本信息页面右上角,单击部署应用

  4. 部署应用页面,展开微服务无损上下线区域,在微服务无损下线页签,打开启用微服务无损下线功能开关,然后单击微服务无损下线配置向导

  5. 无损下线参数配置页签,设置相关信息,单击预览配置

    微服务无损下线

    配置项

    说明

    是否开启优雅下线服务治理能力

    默认为true。取值说明如下:

    • true:开启。

    • false:关闭。

    SAE优雅下线功能占用端口

    默认端口为54199。如果此默认端口和应用的端口产生冲突,请配置新的端口。

    收到Spring的ContextClosedEvent事件后,进程动态等待关闭的时间

    默认取值为5000,即进程收到关闭信号后,会等待5000 ms再关闭。

    配置该参数后,需要设置是否开启自动等待功能参数为false

    是否开启自动等待功能

    默认为true。取值说明如下:

    • true:开启。进程可能会随着流量停止而提前关闭。

    • false:关闭。进程直接等待收到Spring的ContextClosedEvent事件后,进程动态等待关闭的时间所配置的值的对应时长后再关闭。

  6. 预览配置页签,确认相关配置,单击确认

    配置的参数会自动渲染到环境变量、生命周期管理的优雅下线超时设置。更多信息,请参见设置环境变量设置应用生命周期管理

  7. 配置完成后,单击确认

关闭无损下线

如果您的应用已设置无损下线功能,可以通过以下方式关闭:

在应用基本信息页面,单击部署应用修改应用配置,然后在微服务无损上下线区域,关闭启用微服务无损下线功能,然后单击确认