Dubbo 提供动态创建条件路由的服务治理能力,能够在无需重启利用的状况下,依据申请发起方、申请的办法条件路由。
Dubbo 能够通过 XML 配置,注解配置,动静配置实现动静依据申请条件路由,这里次要介绍动静配置的形式,其余配置形式请参考旧文档配置
开始之前
请确保胜利运行 Dubbo-Admin
背景信息
在业务场景如黑白名单,排除预公布机,只裸露局部机器,分环境隔离等,须要路由规定在发动 RPC 调用前过滤指标服务器地址,过滤后的地址作为最终发动 RPC 调用的备选地址。Dubbo-Admin 提供条件路由的能力,可能帮忙您配置路由规定,满足业务场景。
操作步骤
条件路由
- 登录 Dubbo-Admin 控制台
- 在左侧导航栏抉择服务治理 > 条件路由。
- 点击创立按钮,在创立新路由规定面板中,填写规定内容,而后单击保留。
规定详解
配置模板
---
scope: application/service
force: true
runtime: true
enabled: true
key: app-name/group+service+version
conditions:
- application=app1 => address=*:20880
- method=sayHello => address=*:20880
对于条件路由场景,只须要理分明以下问题根本就晓得配置该怎么写了:
-
要批改消费者利用的配置还是某个服务的配置。
- 利用:
scope: application, key: app-name
(还可应用services
指定某几个服务)。 - 服务:
scope: service, key:group+service+version
。
- 利用:
-
当路由后果为空,是否强制返回。
- force=false: 当路由后果为空,降级申请 tag 为空的提供者。
- force=true: 当路由后果为空,间接返回异样。
-
路由规定的优先级
- priority=1: 路由规定的优先级,用于排序,优先级越大越靠前执行,可不填,缺省为 0。
-
配置是否只对某几个特定实例失效。
- 所有实例:
addresses: ["0.0.0.0"]
或addresses: ["0.0.0.0:*"]
具体由 side 值决定。 - 指定实例:
addersses[实例地址列表]
。
- 所有实例:
-
要批改的条件规定。
- => 之前的为消费者匹配条件,所有参数和消费者的 URL 进行比照,当消费者满足匹配条件时,对该消费者执行前面的过滤规定。
- => 之后为提供者地址列表的过滤条件,所有参数和提供者的 URL 进行比照,消费者最终只拿到过滤后的地址列表。
- 如果匹配条件为空,示意对所有生产方利用,如:=> host != 10.20.153.11
- 如果过滤条件为空,示意禁止拜访,如:host = 10.20.153.10 =>
后果验证
抉择和条件路由配置相干的利用,触发该调用验证。
原文首于 Dubbo 官网:https://cn.dubbo.apache.org/z…
欢送在 https://github.com/apache/dubbo 给 Dubbo Star。
搜寻关注官网微信公众号:Apache Dubbo,理解更多业界最新动静,把握大厂面试必备 Dubbo 技能