所有配置项分为三大类,参见下表中的”作用” 一列。
- 服务发现:表示该配置项用于服务的注册与发现,目的是让消费方找到提供方。
- 服务治理:表示该配置项用于治理服务间的关系,或为开发测试提供便利条件,比如路由等。
- 性能调优:表示该配置项用于调优性能,不同的选项对性能会产生影响,比如权重。
- 所有配置最终都将转换为 URL表示,并由服务提供方生成,经
注册中心
传递给消费方,各属性对应 URL 的参数,参见配置项一览表中的 “对应URL参数” 列。【导致注册中心过重,因而引入了配置中心。】
自动配置
@EnableDubbo
外部化配置
dubbo的各个配置对象,比如ApplicationConfig、ProtocolConfig等,通过外部化配置,则可以不用通过定义bean等形式来配置,而是通过自动配置驱动,比如:配置dubbo.protocol.name=dubbo会实例化ProtocolConfig
配置类 | 外部化配置属性前缀 | 用途 |
---|---|---|
ProtocolConfig |
dubbo.protocol |
协议配置 |
ApplicationConfig |
dubbo.application |
应用配置 |
ModuleConfig |
dubbo.module |
模块配置 |
RegistryConfig |
dubbo.registry |
注册中心配置 |
MonitorConfig |
dubbo.monitor |
监控中心配置 |
ProviderConfig |
dubbo.provider |
提供方配置 |
ConsumerConfig |
dubbo.consumer |
消费方配置 |
Dubbo 外部化配置(Externalized Configuration)
@EnableDubboConfig
since 2.5.8
@EnableDubboConfigBinding&@EnableDubboConfigBindings
since 2.5.8
配置中心
配置中心(v2.7.0)在Dubbo中承担两个职责(从注册中心剥离出来):
- 外部化配置。启动配置的集中式存储 (简单理解为dubbo.properties的外部化存储)。
- 服务治理。服务治理规则的存储与通知。