赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. Serverless应用引擎(新版)
  4. 操作指南
  5. 微服务治理
  6. 流量治理
  7. 配置同可用区优先

配置同可用区优先

  • 流量治理
  • 发布于 2025-04-17
  • 0 次阅读
文档编辑
文档编辑

当您配置了同可用区优先后,Consumer服务调用Provider服务时,会优先调用与Consumer服务同一可用区的Provider服务。本文介绍同可用区优先的使用限制和使用场景,以及如何在SAE侧配置同可用区优先。

功能介绍

同可用区(Availability Zones)优先路由是一种负载均衡策略,适用于服务部署在多个可用区的情况。在这种策略下,上游服务会优先调用同一可用区内的下游服务,确保流量尽可能在同一个可用区内流转,以此减少跨可用区的数据传输延迟,进而提升系统的性能和响应速度。

使用说明

  • 同可用区优先支持Dubbo服务和Spring Cloud服务。

  • 为保障业务可用性,同可用区Provider节点数占Provider总节点数超过设定阈值时,才会按照同可用区规则调用。

    例如,可用区A的Consumer调用Provider时,阈值设置为20%,并开启同可用区优先,Provider共10台机器。

    • 若可用区A的Provider节点数为3,只会调用可用区A的Provider节点。

    • 若可用区A的Provider节点数为1,则会回退随机调用模式。

使用场景

当应用部署在多个机房时,会存在应用之间跨机房互相调用的情况,如图所示:

image

而Consumer跨机房调用Provider服务会增加网络延时,最终会增加HTTP响应时间。

开启同可用区优先后,Consumer会优先调用同机房的Provider服务,避免跨可用区带来的网络延时,从而减少HTTP的响应时间。如图所示:

image

前提条件

  • 已开通MSE微服务治理功能。具体操作,请参见开通MSE微服务治理。

  • 已创建一个Consumer应用和两个Provider应用。具体操作,请参见应用部署。

    说明
    • 建议为每个应用配置一个独立的可用区,通过在不同的可用区部署多个应用来实现高可用性和容灾能力。

    • 以下为创建测试应用的说明,在实际的生产环境中,请根据具体的业务场景进行部署。

      • 本文以SAE控制台提供的Demo镜像为例进行演示说明。

      • 两个Provider应用部署在不同的可用区,Consumer应用部署在与其中一个Provider应用相同的可用区。

步骤一:开启微服务治理功能

重要

Consumer应用和所有的Provider应用都需要开启微服务治理功能。

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

    3z0SlXVQfr

  2. 进入目标应用后,在左侧导航栏选择微服务治理 > 流量治理,在流量治理页面开启微服务治理功能。

    重要

    开启微服务治理功能,目标应用下的所有实例将会进行重启,请在业务低峰期进行此操作。

    z4rbGtP8Qu

    开启过程需要1~2分钟,请您耐心等待。

步骤二:为Provider应用配置同可用区优先功能

重要

Consumer应用和所有的Provider应用都需要配置同可用区优先功能。

  1. 进Provider应用的流量治理页面,单击同可用区优先页签。

    WFGG6bCAc9

  2. 在同可用区优先页签,配置以下信息。

    1. 单击阈值或开启同可用区优先右侧的编辑。

    2. 配置阈值范围并开启同可用区优先,然后单击确定。

      说明

      当前可用区内的机器数量占总机器数量的比例超过设定的阈值时,系统才会调用该可用区的Provider应用。阈值填写范围为0~100。

      R0RUvaExlw

  3. 可选:关闭同可用区优先功能。

    在Provider应用的同可用区优先页签,单击开启同可用区优先右侧的编辑,关闭同可用区优先功能并单击确定。

    e5ZZaLc1nu

步骤三:结果验证

使用PTS工具对Consumer应用进行压测,验证开启同可用区优先和不开启同可用区优先功能的情况下,访问时间是否存在差异。

未开启可用区优先功能时进行压测

  1. 登录性能测试服务 PTS 控制台,在概览页面输入公网IP(格式为:http://公网IP/consumer-echo/hello),然后单击压测。

    SorhA9FLRJ

  2. 在弹出的压测配置面板,输入每秒请求数(RPS),然后勾选确认本次压测已获得准许并遵守当地法律并单击启动压测。

    image

  3. 压测结束后,查看网络延迟时间。

    b03acd94a614aabdbad90af21ab6ad35

    说明

    经过PTS压测,显示Consumer应用调用Provider应用时,网络延迟时间为2.49秒左右。

开启可用区优先功能后进行压测

  1. 登录性能测试服务 PTS 控制台,在概览页面输入公网IP(格式为:http://公网IP//consumer-echo/hello),然后单击压测。

    image

  2. 在弹出的压测配置面板,输入每秒请求数(RPS),然后勾选确认本次压测已获得准许并遵守当地法律并单击启动压测。

    image

  3. 压测结束后,查看网络延迟时间。

    375adfded3cb393a1c42966432946744

    说明

    经过PTS压测,显示Consumer应用调用Provider应用时,网络延迟时间为2.45秒左右。

    说明当开启同可用区功能后,Consumer应用调用Provider应用时网络延迟将会减少40毫秒左右。

相关文章

设置无损上下线 2025-04-17 10:59

在实例扩缩容、应用回滚升级、应用启停等场景中,应用可能会出现短时间内服务不可用等异常情况。Serverless 应用引擎 SAE(Serverless App Engine)集成了

管理灰度规则 2025-04-17 10:59

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

系统防护 2025-04-17 10:59

系统防护提供了在不同场景下的系统维度的流量防护能力,以应对各种预期外的情况。例如,当未配置流量防护规则的接口遭遇流量突增时,系统防护能够提供兜底的流量防护,确保应用的稳定性。 前提条件

流量防护 2025-04-17 10:59

Serverless 应用引擎 SAE(Serverless App Engine)集成微服务引擎 MSE

配置消息灰度 2025-04-17 10:59

如果您在使用金丝雀发布、全链路灰度以及开发环境隔离等场景中需要使用到消息的灰度,那么您需要开启消息灰度的功能。目前,SAE 只支持 RocketMQ 类型的消息灰度。 背景信息 虽然绝大多数业务场景下对于消息的

配置同可用区优先 2025-04-17 10:59

当您配置了同可用区优先后,Consumer服务调用Provider服务时,会优先调用与Consumer服务同一可用区的Provider服务。本文介绍同可用区优先的使用限制和使用场景,以及如何在

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号