同机房/区域优先
在 Dubbo-Admin 动态配置同机房/区域优先
Dubbo提供动态配置同机房/区域优先的服务治理能力,可以在无需重启应用的情况下,动态配置同机房/区域优先。
Dubbo可以通过XML配置,注解配置,动态配置同机房/区域优先,这里主要介绍动态配置的方式,其他配置方式请参考旧文档配置
开始之前
请确保成功运行Dubbo-Admin
背景信息
当应用部署在多个不同机房/区域的时候,应用之间相互调用会出现跨区域的情况,跨区域调用会增加响应时间。同机房/区域优先是指应用调用服务时,优先调用同机房/区域的服务提供者。Dubbo-Admin提供了动态的同机房/区域优先能力,能够帮助您快速动态配置同机房/区域优先,避免了跨区域带来的网络延时,从而减少了调用的响应时间。
操作步骤
标签路由
- 登录Dubbo-Admin控制台
- 在左侧导航栏选择服务治理 > 标签路由。
- 点击创建按钮,在创建新标签规则面板中,填写规则内容,然后单击保存。
规则详解
配置模板
---
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"]
...
对于同机房/区域优先场景,只需要理清楚以下问题基本就知道配置该怎么写了:
- 要修改服务所属提供者应用的配置。
- 应用:
scope: application, key: app-name
(还可使用services
指定某几个服务)。
- 应用:
- 当路由结果为空,是否强制返回。
- force=false: 当路由结果为空,降级请求tag为空的提供者。
- force=true: 当路由结果为空,直接返回异常。
- 路由规则的优先级
- priority=1: 路由规则的优先级,用于排序,优先级越大越靠前执行,可不填,缺省为 0。
- 配置是否只对某几个特定实例生效。
- 所有实例:
addresses: ["0.0.0.0"]
或addresses: ["0.0.0.0:*"]
具体由side值决定。 - 指定实例:
addersses[实例地址列表]
。
- 所有实例:
- 要修改的标签名。
结果验证
选择和同机房/区域优先配置相关的应用,触发该调用验证。
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
最后修改 August 14, 2022: 完善示例实践服务治理文档 (#1384) (5b8cd0a93f)