同可用区(Availability Zones)优先路由,是指在应用调用服务时,优先调用同机房的服务Provider。同可用区优先是一种负载均衡策略,能够使流量在同一个可用区内流转,不仅限于使用默认提供的轮询方式进行负载均衡。本文介绍同可用区优先的使用限制和使用场景,以及如何在MSE配置同可用区优先。
前提条件
已将应用接入MSE治理中心。
已开通MSE微服务治理。具体操作,请参见开通MSE微服务治理。
使用说明
同可用区优先支持Dubbo服务和Spring Cloud服务。
为保障业务可用性,同可用区Provider节点数占Provider总节点数超过设定阈值时,才会按照同可用区规则调用。
例如,可用区A的Consumer调用Provider时,阈值设置为20%,并开启同可用区优先,Provider共10台机器。
若可用区A的Provider节点数为3,只会调用可用区A的Provider节点。
若可用区A的Provider节点数为1,则会回退随机调用模式。
使用场景
当应用部署在多个机房时,会存在应用之间跨机房互相调用的情况,如图所示:
而Consumer跨机房调用Provider服务会增加网络延时,最终会增加HTTP响应时间。
开启同可用区优先后,Consumer会优先调用同机房的Provider服务,避免跨可用区带来的网络延时,从而减少HTTP的响应时间。如图所示:
开启同可用区路由模式
登录MSE治理中心控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择 ,然后单击目标应用的资源量卡片。
在侧导航栏,单击流量治理,然后选择同可用区优先页签。
单击编辑,输入阈值并开启同可用区优先,然后单击确定。
配置项
说明
阈值
当前应用在某个可用区部署的实例占比超过此阈值时,才会开启该可用区的同AZ路由功能。即Consumer向该应用发起请求时,会优先将请求路由到与Consumer同一个可用区的实例上。
开启同可用区优先
同AZ路由的启用开关。
打开:其他应用调用此服务时,会调用同可用区的节点设置阈值。
关闭:其他应用调用此服务时,不会调用同可用区的节点设置阈值。
说明请确保当前应用和Consumer应用在各个可用区的实例分布尽量均匀。
同AZ路由模式配置完成且开启后,请根据实际业务验证同AZ路由模式是否生效。