同机房/区域优先

Dubbo-Admin 中的动态配置 同机房/区域优先级

Dubbo 提供了动态配置同机房/区域优先级的服务治理能力,可以动态配置同机房/区域优先级,无需重启应用。

Dubbo 可以通过 XML、注解配置以及动态配置的方式进行同机房/区域优先级配置。这里主要介绍动态配置方法,其他配置方法请参考旧文档 配置

开始之前

请确保成功运行 Dubbo-Admin

背景信息

当应用部署在多个不同的机房/区域时,应用之间会发生跨区域调用,跨区域调用会增加响应时间。同机房/区域优先级意味着当一个应用调用一个服务时,优先调用同机房/区域的服务提供者。Dubbo-Admin 提供了动态同机房/区域优先级能力,可以帮助您快速动态配置同机房/区域优先级,避免跨区域带来的网络延迟,从而降低调用响应时间。

步骤

标签路由

  1. 登录 Dubbo-Admin 控制台
  2. 在左侧导航栏中,选择服务治理 > 标签路由。
  3. 点击创建按钮,在创建新标签规则面板中填写规则内容,然后点击保存。

详细规则

配置模板
---
   force: false
   runtime: true
   enabled: true
   key: governance-tagrouter-provider
   tags:
     - name: tag1
       addresses: ["127.0.0.1:20880"]
     - name: tag2
       addresses: ["127.0.0.1:20881"]
  ...

对于同机房/区域优先级场景,您只需要弄清楚以下问题,就知道如何编写配置

  1. 修改服务所属提供者应用的配置。
    • 应用:scope: application, key: app-name(也可以使用 services 指定某些服务)。
  2. 路由结果为空时,是否强制返回。
    • force=false: 当路由结果为空时,降级标签为空的提供者。
    • force=true: 当路由结果为空时,直接返回异常。
  3. 路由规则的优先级
    • priority=1: 路由规则的优先级,用于排序,优先级越高,执行越靠前,可以留空,默认值为 0。
  4. 配置是否只对某些特定实例生效。
    • 所有实例:addresses: ["0.0.0.0"]addresses: ["0.0.0.0:*"] 取决于侧值。
    • 指定实例:addersses[实例地址列表]
  5. 要修改的标签名称。

结果验证

选择与同机房/区域优先级配置相关的应用,触发调用验证。


上次修改时间:2023 年 2 月 9 日:更新 docsy 到 0.6.0 (#2141) (20081578326)