带你读《Apache Dubbo微服务开发从入门到精通》—— 五、 动态配置规则

本文涉及的产品
性能测试 PTS,5000VUM额度
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 带你读《Apache Dubbo微服务开发从入门到精通》—— 五、 动态配置规则

五、 动态配置规则

 

动态配置规则ConfigurationRule是Dubbo设计的在无需重启应用的情况下,动态调整RPC调用行为的一种能力,也成为动态覆盖规则,因为它是通过在运行态覆盖Dubbo实例或者Dubbo实例中URL地址的各种参数值,实现改变RPC调用行为的能力。

 

使用动态配置规则,有以下几条关键信息值得注意:

 

设置规则生效过滤条件。配置规则支持一系列的过滤条件,用来限定规则只对符合特定条件的服务、应用或实例才生效。

 

设置规则生效范围。一个rpc服务有服务发起方(消费者)和服务处理方(提供者)两个角色,对某一个服务定义的规则,可以具体到限制是对消费者还是提供者生效。

 

选择规则管理粒度。Dubbo支持从服务和应用两个粒度来管理和下发规则。

 

以下一个应用级别的配置示例,配置生效后,shop-detail应用下提供的所有服务都将启用accesslog,对shop-detail部署的所有实例生效。

 

image.png

 

以下是一个服务级别的配置示例,keyorg.apache.dubbo.samples.UserService和sideconsumer说明这条配置对所有正在消费UserService的Dubbo实例生效,在调用失败后都执行4次重试。match条件进一步限制了消费端的范围,限定为只对应用名为shop-frontend的这个消费端应用生效。

 image.png 

 

1. ConfigurationRule

 

配置规则主体,定义要设置的目标服务或应用、具体的规则配置。具体配置规则configs可以设置多条。

 

image.png

 

2. Config

 

具体的规则配置定义,包含生效端consumer或provider和过滤条件。

 

image.png

 

3. MatchCondition

 

过滤条件,用来设置规则对哪个服务service、应用application、实例address,或者包含哪些参数param的实例生效。

 

Field

Type

Description

Required

address

StringMatch

The instance address matching condition for this config rule to take effect.

 

-xact:“valuefor exact string match

-prefix:“valuefor prefix-based match

-regex:“valuefor RE2 style regex-based match

 

https://github.com/google/re2/wiki/Syntax

No

service

StringMatch (oneof)

The service matching condition for this config rule to take effect. Effective when scope: application is set.

 

-exact:“valuefor exact string match

-prefix:“valuefor prefix-based match

-regex:“valuefor RE2 style regex-based match

 

https://github.com/google/re2/wiki/Syntax

No

application

StringMatch (oneof)

The application matching condition for this config rule to take effect. Effective when scope: service is set.

 

-exact:“valuefor exact string match

-prefix:“valuefor prefix-based match

-regex:“valuefor RE2 style regex-based match

 

https://github.com/google/re2/wiki/Syntax

No

param

ParamCondition[]

The Dubbo url keys and values matching condition for this config rule to take effect.

No

 

4. ParamCondition

 

定义实例参数param过滤条件,对应到Dubbo URL地址参数。

 

image.png

 

5. StringMatch

 

Field

Type

Description

Required

exact

string (oneof)

exact string match

No

prefix

string (oneof)

prefix-based match

No

regex

string (oneof)

RE2 style regex-based match

https://github.com/google/re2/wiki/Syntax

No

 


相关文章
|
2月前
|
Dubbo Java 应用服务中间件
Spring Cloud Dubbo:微服务通信的高效解决方案
【10月更文挑战第15天】随着信息技术的发展,微服务架构成为企业应用开发的主流。Spring Cloud Dubbo结合了Dubbo的高性能RPC和Spring Cloud的生态系统,提供高效、稳定的微服务通信解决方案。它支持多种通信协议,具备服务注册与发现、负载均衡及容错机制,简化了服务调用的复杂性,使开发者能更专注于业务逻辑的实现。
69 2
|
2月前
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
274 1
|
4月前
|
Dubbo Java 应用服务中间件
💥Spring Cloud Dubbo火爆来袭!微服务通信的终极利器,你知道它有多强大吗?🔥
【8月更文挑战第29天】随着信息技术的发展,微服务架构成为企业应用开发的主流模式,而高效的微服务通信至关重要。Spring Cloud Dubbo通过整合Dubbo与Spring Cloud的优势,提供高性能RPC通信及丰富的生态支持,包括服务注册与发现、负载均衡和容错机制等,简化了服务调用管理并支持多种通信协议,提升了系统的可伸缩性和稳定性,成为微服务通信领域的优选方案。开发者仅需关注业务逻辑,而无需过多关心底层通信细节,使得Spring Cloud Dubbo在未来微服务开发中将更加受到青睐。
89 0
|
21天前
|
Dubbo 安全 应用服务中间件
Apache Dubbo 正式发布 HTTP/3 版本 RPC 协议,弱网效率提升 6 倍
在 Apache Dubbo 3.3.0 版本之后,官方推出了全新升级的 Triple X 协议,全面支持 HTTP/1、HTTP/2 和 HTTP/3 协议。本文将围绕 Triple 协议对 HTTP/3 的支持进行详细阐述,包括其设计目标、实际应用案例、性能测试结果以及源码架构分析等内容。
|
22天前
|
Dubbo Cloud Native 应用服务中间件
阿里云的 Dubbo 和 Nacos 深度整合,提供了高效的服务注册与发现、配置管理等关键功能,简化了微服务治理,提升了系统的灵活性和可靠性。
在云原生时代,微服务架构成为主流。阿里云的 Dubbo 和 Nacos 深度整合,提供了高效的服务注册与发现、配置管理等关键功能,简化了微服务治理,提升了系统的灵活性和可靠性。示例代码展示了如何在项目中实现两者的整合,通过 Nacos 动态调整服务状态和配置,适应多变的业务需求。
34 2
|
2月前
|
存储 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
43 1
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
|
2月前
|
Dubbo 应用服务中间件 Apache
Dubbo 应用切换 ZooKeeper 注册中心实例,流量无损迁移
如果 Dubbo 应用使用 ZooKeeper 作为注册中心,现在需要切换到新的 ZooKeeper 实例,如何做到流量无损?
23 4
|
2月前
|
Dubbo Java 应用服务中间件
Dubbo学习圣经:从入门到精通 Dubbo3.0 + SpringCloud Alibaba 微服务基础框架
尼恩团队的15大技术圣经,旨在帮助开发者系统化、体系化地掌握核心技术,提升技术实力,从而在面试和工作中脱颖而出。本文介绍了如何使用Dubbo3.0与Spring Cloud Gateway进行整合,解决传统Dubbo架构缺乏HTTP入口的问题,实现高性能的微服务网关。
|
2月前
|
缓存 前端开发 应用服务中间件
CORS跨域+Nginx配置、Apache配置
CORS跨域+Nginx配置、Apache配置
220 7
|
3月前
|
Dubbo 应用服务中间件 Apache
Star 4w+,Apache Dubbo 3.3 全新发布,Triple X 领衔,开启微服务通信新时代
在 Apache Dubbo 突破 4w Star 之际,Apache Dubbo 团队正式宣布,Dubbo 3.3 正式发布!作为全球领先的开源微服务框架,Dubbo 一直致力于为开发者提供高性能、可扩展且灵活的分布式服务解决方案。此次发布的 Dubbo 3.3,通过 Triple X 的全新升级,突破了以往局限,实现了对南北向与东西向流量的全面支持,并提升了对云原生架构的友好性。
152 10

推荐镜像

更多