dubbo配置项
标签 | 介绍 | - |
---|
<dubbo:service> | 服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心。 | - |
<dubbo:reference> | 引用配置,用于引用一个暴露的远程服务,一个引用可以指向多个注册中心 | - |
<dubbo:protocol> | 协议配置,用于配置提供服务的协议信息,协议由提供方指定,消费方被动接受.可以同时使用多个<dubbo:protocol> 标签定义多种支持协议(多协议配置) | - |
<dubbo:application> | 应用配置,用于配置当前应用信息,不管该应用是提供者还是消费者 | - |
<dubbo:module> | 模块配置,用于配置当前模块信息,可选 | - |
<dubbo:registry> | 注册中心配置,用于配置连接注册中心相关信息 | - |
<dubbo:monitor> | 监控中心配置,用于配置连接监控中心相关信息,可选 | - |
<dubbo:provider> | 提供方的缺省值,当ProtocolConfig和ServiceConfig某属性没有配置时,采用此缺省值,可选 | - |
<dubbo:consumer> | 消费方缺省配置,当ReferenceConfig某属性没有配置时,采用此缺省值,可选 | - |
<dubbo:method> | 方法配置,用于ServiceConfig和ReferenceConfig指定方法级的配置信息 | - |
<dubbo:argument> | 用于指定方法参数设置 | - |
dubbo配置的加载顺序
1.reference method
<dubbo:reference id="demoService" interface="cn.intf.demoService">
<dubbo:method name="findXxx" timeout="1000"/>
<dubbo:reference/>
2.service method
<dubbo:service id="demoService" interface="cn.intf.demoService">
<dubbo:method name="findXxx" timeout="2000"/>
<dubbo:service/>
3.reference
<dubbo:reference id="demoService" interface="cn.intf.demoService" timeout="3000"/>
4.service
<dubbo:service id="demoService" interface="cn.intf.demoService" timeout="4000"/>
5.consumer
<dubbo:consumer timeout="5000"/>
6.provider
<dubbo:provider timeout="6000"/>
- 上图中以timeout为例,显示了配置的查找顺序,其它retries, loadbalance, actives等类似。
- 方法级优先,接口级次之,全局配置再次之。
- 强调内容*如果级别一样,则消费方优先,提供方次之。
- 其中,服务提供方配置,通过URL经由注册中心传递给消费方。
- 建议由服务提供方设置超时,因为一个方法需要执行多长时间,服务提供方更清楚,如果一个消费方同时引用多个服务,就不需要关心每个服务的超时设置。
- 理论上ReferenceConfig的非服务标识配置,在ConsumerConfig,ServiceConfig, ProviderConfig均可以缺省配置。