配置手册
一、 配置概述
1. 配置组件
为了更好地管理各种配置,Dubbo抽象了一套结构化的配置组件,各组件总体以用途划分,分别控制不同作用域的行为。
组件名称 |
描述 |
范围 |
是否必须配置 |
application |
指定应用名等应用级别相关信息 |
一个应用内只允许出现一个 |
必选 |
service |
声明普通接口或实现类为Dubbo服务 |
一个应用内可以有0到多个service |
service/reference至少一种 |
reference |
声明普通接口为Dubbo服务 |
一个应用内可以有0到多个reference |
service/reference至少一种 |
protocol |
要暴露的RPC协议及相关配置如端口号等 |
一个应用可配置多个,一个protocol可作用于一组service&reference |
可选,默认dubbo |
registry |
注册中心类型、地址及相关配置 |
一个应用内可配置多个,一个registry可作用于一组service&reference |
必选 |
config-center |
配置中心类型、地址及相关配置 |
一个应用内可配置多个,所有服务共享 |
可选 |
metadata-report |
元数据中心类型、地址及相关配置 |
一个应用内可配置多个,所有服务共享 |
可选 |
consumer |
reference间共享的默认配置 |
一个应用内可配置多个,一个consumer可作用于一组reference |
可选 |
provider |
service间共享的默认配置 |
一个应用内可配置多个,一个provider可作用于一组service |
可选 |
monitor |
监控系统类型及地址 |
一个应用内只允许配置一个 |
可选 |
metrics |
数据采集模块相关配置 |
一个应用内只允许配置一个 |
可选 |
ssl |
ssl/tls安全链接相关的证书等配置 |
一个应用内只允许配置一个 |
可选 |
注:
• 从实现原理层面,最终Dubbo所有的配置项都会被组装到URL中,以URL为载体在后续的启动、RPC调用过程中传递,进而控制框架行为。如想了解更多,请参照Dubbo源码解析系列文档或Blog。
• 各组件支持的具体配置项及含义请参考配置项手册。
1) service与reference
service与reference是Dubbo最基础的两个配置项,它们用来将某个指定的接口或实现类注册为Dubbo服务,并通过配置项控制服务的行为。
• service用于服务提供者端,通过service配置的接口和实现类将被定义为标准的Dubbo服务,从而实现对外提供RPC请求服务。
• reference用于服务消费者端,通过reference配置的接口将被定义为标准的Dubbo服务,生成的proxy可发起对远端的RPC请求。
一个应用中可以配置任意多个service与reference。
2) consumer与provider
• 当应用内有多个reference配置时,consumer指定了这些reference共享的默认值,如共享的超时时间等以简化繁琐的配置,如某个reference中单独设置了配置项值则该reference中的配置优先级更高。
• 当应用内有多个service配置时,provider指定了这些service共享的默认值,如某个service中单独设置了配置项值则该service中的配置优先级更高。
注:
consumer组件还可以对reference进行虚拟分组,不通分组下的reference可有不同的consumer默认值设定;如在XML格式配置中,标签可通过嵌套在标签之中实现分组。provider与service之间也可以实现相同的效果。
《Apache Dubbo微服务开发从入门到精通》——配置手册—— 一、 配置概述(下): https://developer.aliyun.com/article/1225178