带你读《Apache Dubbo微服务开发从入门到精通》——六、 配置项手册(12)

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
性能测试 PTS,5000VUM额度
简介: 带你读《Apache Dubbo微服务开发从入门到精通》——六、 配置项手册(12)

《Apache Dubbo微服务开发从入门到精通》——配置手册——六、 配置项手册(11) https://developer.aliyun.com/article/1225076



17) 其他配置

 

config-mode

 

背景

 

在每个dubbo应用中某些种类的配置类实例只能出现一次(比如ApplicationConfig、MonitorConfig、MetricsConfig、SslConfig、ModuleConfig),有些能出现多次(比如RegistryConfig、ProtocolConfig等)。

 

如果应用程序意外的扫描到了多个唯一配置类实例(比如用户在一个dubbo应用中错误了配置了两个ApplicationConfig),应该以哪种策略来处理这种情况呢?是直接抛异常?是保留前者忽略后者?是忽略前者保留后者?还是允许某一种形式的并存(比如后者的属性覆盖到前者上)?

 

目前dubbo中的唯一配置类类型和以及某唯一配置类型找到多个实例允许的配置模式/策略如下。

 

唯一配置类类型

 

ApplicationConfig、MonitorConfig、MetricsConfig、SslConfig、ModuleConfig。

 

前四个属于应用级别的,最后一个属于模块级别的。

 

配置模式

 

strict:严格模式。直接抛异常。

override:覆盖模式。忽略前者保留后者。

ignore:忽略模式。忽略后者保留前者。

override_all:属性覆盖模式。不管前者的属性值是否为空,都将后者的属性覆盖/设置到前者上。

override_if_absent:若不存在则属性覆盖模式。只有前者对应属性值为空,才将后者的属性覆盖/设置到前者上。

 

注:

后两种还影响配置实例的属性覆盖。因为dubbo有多种配置方式,即存在多个配置源,配置源也有优先级。比如通过xml方式配置了一个ServiceConfig且指定属性version=1.0.0,同时我们又在外部配置(配置中心)中配置了dubbo.service.{interface}.version=2.0.0,在没有引入config-mode配置项之前,按照原有的配置源优先级,最终实例的version=2.0.0。但是引入了config-mode配置项之后,配置优先级规则也不再那么严格,即如果指定config-mode为override_all则为version=2.0.0,如果config-mode为override_if_absent则为version=1.0.0,config-mode为其他值则遵循原有配置优先级进行属性设值/覆盖。

 

配置方式

 

配置的key为dubbo.config.mode,配置的值为如上描述的几种,默认的策略值为strict。下面展示了配置示例

 

image.png

相关文章
|
10天前
|
存储 网络协议 Nacos
高效搭建Nacos:实现微服务的服务注册与配置中心
Nacos(Dynamic Naming and Configuration Service)是阿里巴巴开源的一款动态服务发现、配置管理和服务管理平台。它旨在帮助开发者更轻松地构建、部署和管理分布式系统,特别是在微服务架构中。
179 81
高效搭建Nacos:实现微服务的服务注册与配置中心
|
3月前
|
Linux 网络安全 Apache
CentOS 7.2配置Apache服务httpd(上)
CentOS 7.2配置Apache服务httpd(上)
336 1
|
4月前
|
算法 安全 Java
微服务(四)-config配置中心的配置加解密
微服务(四)-config配置中心的配置加解密
|
4月前
|
消息中间件 监控 开发工具
微服务(三)-实现自动刷新配置(不重启项目情况下)
微服务(三)-实现自动刷新配置(不重启项目情况下)
|
2月前
|
Dubbo 安全 应用服务中间件
Apache Dubbo 正式发布 HTTP/3 版本 RPC 协议,弱网效率提升 6 倍
在 Apache Dubbo 3.3.0 版本之后,官方推出了全新升级的 Triple X 协议,全面支持 HTTP/1、HTTP/2 和 HTTP/3 协议。本文将围绕 Triple 协议对 HTTP/3 的支持进行详细阐述,包括其设计目标、实际应用案例、性能测试结果以及源码架构分析等内容。
|
2月前
|
Java 网络安全 Nacos
Nacos作为流行的微服务注册与配置中心,其稳定性与易用性广受好评
Nacos作为流行的微服务注册与配置中心,其稳定性与易用性广受好评。然而,“客户端不发送心跳检测”是使用中常见的问题之一。本文详细探讨了该问题的原因及解决方法,包括检查客户端配置、网络连接、日志、版本兼容性、心跳检测策略、服务实例注册状态、重启应用及环境变量等步骤,旨在帮助开发者快速定位并解决问题,确保服务正常运行。
53 5
|
2月前
|
网络安全 Nacos 开发者
Nacos作为流行的微服务注册与配置中心,“节点提示暂时不可用”是常见的问题之一
Nacos作为流行的微服务注册与配置中心,其稳定性和易用性备受青睐。然而,“节点提示暂时不可用”是常见的问题之一。本文将探讨该问题的原因及解决方案,帮助开发者快速定位并解决问题,确保服务的正常运行。通过检查服务实例状态、网络连接、Nacos配置、调整健康检查策略等步骤,可以有效解决这一问题。
42 4
|
2月前
|
Java 网络安全 Nacos
Nacos作为流行的微服务注册与配置中心,其稳定性和易用性备受青睐。
Nacos作为流行的微服务注册与配置中心,其稳定性和易用性备受青睐。然而,实际使用中常遇到“客户端不发送心跳检测”的问题。本文深入探讨该问题的原因及解决方案,帮助开发者快速定位并解决问题,确保服务正常运行。通过检查客户端配置、网络连接、日志、版本兼容性、心跳策略、注册状态、重启应用和环境变量等步骤,系统地排查和解决这一问题。
58 3
|
2月前
|
安全 Nacos 数据库
Nacos是一款流行的微服务注册与配置中心,但直接暴露在公网中可能导致非法访问和数据库篡改
Nacos是一款流行的微服务注册与配置中心,但直接暴露在公网中可能导致非法访问和数据库篡改。本文详细探讨了这一问题的原因及解决方案,包括限制公网访问、使用HTTPS、强化数据库安全、启用访问控制、监控和审计等步骤,帮助开发者确保服务的安全运行。
79 3
|
3月前
|
存储 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
55 1
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)

推荐镜像

更多