开启微服务治理功能

重要

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

SAE深度集成了MSE服务的微服务治理功能,通过此功能,可以更高效的管理您的应用。本文介绍如何在不同场景下启用微服务治理功能并实现无损上下线配置。

功能介绍

微服务治理功能介绍

Serverless 应用引擎 SAE(Serverless App Engine)通过无缝集成微服务引擎 MSE(Microservices Engine),提供了强大的微服务治理能力。它不仅支持服务发现和配置管理,还实现了无损上下线、流量治理、系统防护消息灰度、全链路追踪、智能熔断、降级策略、同可用区优先等功能,从而显著提升服务响应速度与稳定性,同时简化架构运维。基于这些能力,MSE能够确保您的微服务应用高效、稳定地运行。

无损上下线功能介绍

本文只介绍无损上下线功能,如果您想了解并配置其他微服务治理功能,请参见微服务治理

  • 无损上线

    对于任何一个线上应用来说,发布、扩容、缩容、重启等操作不可避免。在应用启动各阶段,无损上线能够提供相应的保护能力。微服务的Provider服务只要注册到注册中心即可被Consumer调用,但此时,Provider可能还需要进一步的初始化,例如数据库连接池的初始化等。因此,对于流量比较大的微服务应用,推荐开启无损上线功能。

  • 无损下线

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

条件说明

  • 本功能仅适用于Java应用。

  • 需要开通MSE微服务治理专业版

    重要

    SAE测使用MSE服务的微服务治理功能时,MSE会产生单独的费用

操作入口

  1. 操作入口在不同场景下有差异:

    创建应用

    1. 登录SAE控制台,在左侧导航栏选择应用管理 > 应用列表,然后选择目标地域和目标命名空间,最后单击创建应用

    2. 应用基本信息向导页面进行配置后,单击下一步:高级设置

    对正在运行的应用进行变更

    警告

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

    1. 登录SAE控制台,在左侧导航栏选择应用管理 > 应用列表,然后选择目标地域和目标命名空间,最后单击目标应用名称。

    2. 在目标应用的基础信息页面,单击部署应用

    对已停止的应用进行变更

    1. 登录SAE控制台,在左侧导航栏选择应用管理 > 应用列表,然后选择目标地域和目标命名空间,最后单击目标应用名称。

    2. 在目标应用的基础信息页面,单击修改应用配置

  2. 找到并展开微服务治理区域,按以下步骤进行配置。

开启微服务治理功能并配置无损上下线

开启微服务治理功能

微服务治理区域,打开微服务治理功能。

lAFIjzs1MD

重要

微服务治理功能开启后,系统会自动向应用中的每个实例中注入一个内置的Agent,此Agent大约占用0.2 Core200MB的资源,请您提前做好资源规划。

配置无损上下线功能

配置无损上线

开启微服务治理功能后,可在微服务治理区域配置无损上线功能。

  1. 开启无损上线功能。

    yUTjb6j8FC

  2. 配置小流量预热时长延迟注册时长。

    配置项

    说明

    小流量预热时长(秒)

    流量预热机制是为了确保新节点加入时,初期分配给该节点的微服务调用流量维持在较低水平,并随着时间平缓增加。这样设计是为了缓解Java应用冷启动期间处理能力较弱的问题,防止系统整体响应时间(RT)显著上升。预热过程将在预设的时长结束后自动终止,之后该节点将正常承载全量流量。

    延迟注册

    注册的延迟时间可以将原本服务注册时间往后推迟指定时长。如果您的应用在启动后有耗时较长的异步资源加载过程,可以通过该参数调节新上线节点的服务注册行为,以推迟其收到调用请求的时机。

    重要

    延迟注册时长不为0时,必须在应用部署中配置readiness(就绪检查),访问路径设置为/health,且端口设置为54199,以保证服务完全注册到注册中心后,Kubernetes才认定该服务为就绪状态。这一措施能有效避免因服务消费者找不到可用服务提供者而导致的入流量骤降问题。至关重要的是,切忌将LivenessProbe(存活探针)设置为同一路径/health,因为这样做可能引发应用不断重启的死循环状况。

    cHBHTU4gkV

配置无损下线

  • 当开启微服务治理功能后,无损下线功能是默认生效的。

  • 无损下线会在服务发布、缩容、重启等场景下,尽可能保障下线节点的流量排空,让在途请求执行完毕,不会产生因服务下线导致的调用出错。

相关文档