Dubbo配置常用标签详细解释

一,配置之间的关系

 

二,标签
1,<dubbo:service/>标签:

作用:服务配置

解释:用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心

<!-- 声明需要暴露的服务接口 -->
<dubbo:service interface="org.apache.dubbo.demo.DemoService" ref="demoService" />
2,<dubbo:reference/>标签:

作用:引用配置

解释:用于创建一个远程服务代理,一个引用可以指向多个注册中心

<!-- 生成远程服务代理,可以和本地bean一样使用demoService -->
<dubbo:reference id="demoService" interface="org.apache.dubbo.demo.DemoService" />
3,<dubbo:protocol/>标签:

作用:协议配置

解释:用于配置提供服务的协议信息,协议由提供方指定,消费方被动接受

<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" />
4,<dubbo:application/>标签:

作用:应用配置

解释:用于配置当前应用信息,不管该应用是提供者还是消费者

<dubbo:application name="demo-consumer"/>
5,<dubbo:module/>标签:

作用:模块配置

解释:用于配置当前模块信息,可选

<dubbo:module name="demo-module"/>
6,<dubbo:registry/>标签:

作用:注册中心配置

解释:用于配置连接注册中心相关信息

<dubbo:registry group="aaa" address="zookeeper://127.0.0.1:2181"/>
7,<dubbo:monitor/>标签:

作用:监控中心配置

解释:用于配置连接监控中心相关信息,可选

<!-- 监控中心协议,如果为protocol="registry",表示从注册中心发现监控中心地址,否则直连监控中心。-->
<dubbo:monitor protocol="registry"/>
8,<dubbo:provider/>标签:

作用:提供方配置

解释:当 ProtocolConfig 和 ServiceConfig 某属性没有配置时,采用此缺省值,可选(该标签为 <dubbo:service> 和 <dubbo:protocol> 标签的缺省值设置。)

<dubbo:provider id="provider"/>
9,<dubbo:method/>标签:

作用:方法配置

解释:用于 ServiceConfig 和 ReferenceConfig 指定方法级的配置信息

<dubbo:reference interface="com.xxx.XxxService">
  <dubbo:method name="findXxx" timeout="3000" retries="2" />
</dubbo:reference>
10,<dubbo:consumer/>标签:

作用:消费方配置

解释:当 ReferenceConfig 某属性没有配置时,采用此缺省值,可选。该标签为 <dubbo:reference> 标签的缺省值设置。

11,<dubbo:argument/>标签:

作用:参数配置

解释:该标签为 <dubbo:method> 的子标签,用于方法参数的特征描述,

<dubbo:method name="findXxx" timeout="3000" retries="2">
  <dubbo:argument index="0" callback="true" />
</dubbo:method>
三,不同粒度配置的覆盖关系
以 timeout 为例,下图显示了配置的查找顺序,其它 retries, loadbalance, actives 等类似:

方法级优先,接口级次之,全局配置再次之。
如果级别一样,则消费方优先,提供方次之。
其中,服务提供方配置,通过 URL 经由注册中心传递给消费方。

posted on 2023-06-20 15:40  mzone  阅读(368)  评论(0编辑  收藏  举报