可用区优先是指在应用调用服务时,优先调用同可用区的服务提供者。Spring Cloud、Dubbo和HSF协议应用都支持配置可用区优先调用。本文介绍如何为K8s应用开启可用区优先调用。

背景信息

当应用部署在多个可用区的时候,应用之间互相调用会出现跨可用区的情况。调用链路如下图所示: 场景1

图中可用区1的A应用如果调用可用区2的B应用,即节点A1上的应用调用节点B2上的应用,跨可用区调用出现网络延时增加,并导致HTTP响应时间增加。

当应用服务开启同可用区优先后,消费者应用会优先调用同可用区的提供者,调用链路如下图所示:避免了跨可用区带来的网络延时,从而减少了HTTP的响应时间。 场景2

如果当前可用区没有服务提供者时,服务调用者会调用到其他可用区的服务提供者。

开启同可用区优先

要使用同可用区优先功能,您可以在服务提供者侧开启同可用区优先

  1. 登录EDAS控制台
  2. 按需执行以下任一操作来进入应用的详情页面:
    • 在左侧导航栏选择资源管理 > 容器服务K8s集群(或资源管理 > Serverless K8s集群),在顶部菜单栏选择地域并在页面上方选择微服务空间,在容器服务K8s集群Serverless K8s集群页面单击集群ID,然后在集群详情页面的应用列表区域单击具体应用名称。
    • 在左侧导航栏单击应用列表,在顶部菜单栏选择地域并在页面上方选择微服务空间,在集群类型下拉列表中选择容器服务/Serverless K8s集群,然后单击目标应用名称。
  3. 应用总览页面的服务治理区域,单击同可用区优先右侧的开启
  4. 应用总览页面的服务治理区域,单击同可用区优先右侧的编辑图标并设置阈值
    说明 只有在当前可用区实例数量占实例总数比例大于所设置的阈值时,同可用区优先调用策略才会生效。阈值填写范围为0~100。