DUBBO-配置xml文件介绍

hello world demo中有很多配置。这里介绍一下官网对dubbo配置的介绍。

一、Hello world中的配置文件

官网介绍都覆盖了,不多说。

二、官网对配置文件介绍(翻译官网文档)

dubbo configuration

1. xml配置文件形式
  1. provider.xml demo
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">  
    <dubbo:application name="hello-world-app"  />  
    <dubbo:registry address="multicast://224.5.6.7:1234" />  
    <dubbo:protocol name="dubbo" port="20880" />  
    <dubbo:service interface="org.apache.dubbo.demo.DemoService" ref="demoServiceLocal" />  
    <dubbo:reference id="demoServiceRemote" interface="org.apache.dubbo.demo.DemoService" />  
</beans>

tag

purpose

introdution

dubbo:service/

暴露服务

暴露服务,定义服务信息,可以通过多种协议暴露协议,也可以将服务注册到多个注册中心

dubbo:reference/

引用服务

订阅多个注册中心,创建一个远程代理

dubbo:protocol/

配置协议

定义服务端协议,消费端遵守协议

dubbo:aplication/

应用配置

应用于服务端和消费端

dubbo:module/

模块配置

可选

dubbo:registry/

注册中心

注册信息:地址,协议等

dubbo:monitor/

监控中心

可选

dubbo:provider/

服务端默认配置

可选

dubbo:consumer/

消费端默认配置

可选

dubbo:method/

方法级别配置

为服务配置和消费配置提供方法级别配置

dubbo:argument/

参数配置

个性配置方法参数配置

  1. 配置标签的关系

dubbo官网 配置文档语雀 dubbo的配置文件详解_xml

  1. 配置优先级
  1. 从高到底:方法级别 > 接口级别 > 默认/全局级别
  2. 同级别,服务端的优先级高于消费端

举例来说明一下,超时时间设置的优先级

dubbo官网 配置文档语雀 dubbo的配置文件详解_xml_02

2. properties配置文件形式
  1. 如果你的dubbo很简单,没有多注册中心,也没有多协议,而且你希望spring容器之间共享该配置文件,你可以使用dubbo.properties来默认配置文件。Dubbo将从根CLASSPATH下加载dubbo.properties。你也可以在JVM参数中指明路径,Ddubbo.properties.file=XXX.properties。
  2. 映射规则
  1. dubbo.application.name=test equals <dubbo:application name=“test” />
  2. dubbo.protocol.rmo.port=1099 equals <dubbo:protocol name=“rmi” port=“1099” />
  1. 典型dubbo.properties demo
dubbo.application.name=foo
dubbo.application.owner=bar
dubbo.registry.address=10.20.153.10:9090
  1. 优先级
  1. 从高到低如下

dubbo官网 配置文档语雀 dubbo的配置文件详解_xml_03

  1. JVM -D 参数 > xml配置文件 > properties > 默认配置
3. API Configuration
  1. 所有API属性都能对应到XML中,例如ApplicationConfig.setName(“xxx”) equals to <dubbo:application name=“xxx” />
  2. 什么时候使用api配置呢,当和OpenAPI、ESB、Test、Mock等整合时候推荐(不理解),大部分情况下推荐使用xml配置。
  3. 具体可以到官网参考,这里代码就不写了。
4. Annotation Configuration
  1. 需要dubbo版本为2.6.3以上,完整例子
5. Configuration Loading Process
  1. dubbo框架在应用启动时如何收集必须的配置参数呢?
    四大配置源(优先级逐降)
    jvm -Dproperty
    外部配置(dubbo 2.5.8以后)
    和springboot注解@PropertySource(“META-INF/config.properties”)、@EnableDubboConfig有关
    详细参考,Dubbo外部化配置 ServiceConfig、ReferenceConfig和其它接口收集的配置
    本地配置文件dubbo.properties