dubbo 配置文件
dubbo:application 配置
利用信息配置。对应的配置类:org.apache.dubbo.config.ApplicationConfig
属性 | 形容 | 是否必填 |
---|---|---|
name | 以后利用的名称,与以后的我的项目名保持一致。 | 是 |
owner | 负责人 | 否 |
version | 以后利用的版本 | 否 |
qos.enable | 是否开启运维接口 | 否 |
qos.port | 运维接口的端口号 | 否 |
qos.accept.foreign.ip | 是否容许近程拜访 | 否 |
dubbo:registry 配置
注册核心配置。对应的配置类:org.apache.dubbo.config.RegistryConfig
。同时如果有多个不同的注册核心,能够申明多个 <dubbo:registry>
标签,并在 <dubbo:service>
或 <dubbo:reference>
的 registry
属性指定应用的注册核心。
属性 | 形容 | 是否必填 |
---|---|---|
id | 注册核心 id,因为能够容许配置多个注册核心 | 否 |
address | 注册核心地址 | 是 |
protocol | 注册核心地址协定,反对 dubbo , multicast , zookeeper , redis , consul(2.7.1) , sofa(2.7.2) , etcd(2.7.2) , nacos(2.7.2) 等协定。(协定个别写在地址上) |
否 |
timeout | 注册核心申请超时工夫(毫秒) | 否 |
dubbo:protocol 配置
服务提供者协定配置。对应的配置类:org.apache.dubbo.config.ProtocolConfig
。同时,如果须要反对多协定,能够申明多个 <dubbo:protocol>
标签,并在 <dubbo:service>
中通过 protocol
属性指定应用的协定。
属性 | 形容 | 是否必填 |
---|---|---|
id | 协定 id | 否 |
name | dubbo, rmi, hessian, http, webservice, thrift, memcached, redis | 是 |
port | 近程调用协定端口 | 是 |
dubbo:service 配置
服务提供者裸露服务配置。对应的配置类:org.apache.dubbo.config.ServiceConfig
属性 | 形容 | 是否必填 |
---|---|---|
interface | 注册的服务接口类 | 是 |
ref | 服务在容器中治理的名称 | 是 |
version | 服务版本,倡议应用两位数字版本,如:1.0,通常在接口不兼容时版本号才须要降级 | 否 |
registry | 指定注册核心的 id | 否 |
dubbo:reference 配置
服务消费者援用服务配置。对应的配置类:org.apache.dubbo.config.ReferenceConfig
属性 | 形容 | 是否必填 |
---|---|---|
id | 服务注册到 Spring 中的 id | 是 |
interface | 要调用的服务接口类 | 是 |
version | 指定以后服务版本,与服务提供者的版本统一。 | 否 |
registry | 指定注册核心的 id | 否 |
dubbo:method 配置
办法级配置。对应的配置类:org.apache.dubbo.config.MethodConfig
。同时该标签为 <dubbo:service>
或 <dubbo:reference>
的子标签,用于管制到办法级。
属性 | 形容 | 是否必填 |
---|---|---|
name | 办法名 | 是 |
timeout | 超时工夫 | 否 |
retries | 重试次数 | 否 |
async | 是否异步执行,不牢靠异步,只是疏忽返回值,不阻塞执行线程 | 否 |
demos
xml 格局
<dubbo:application name="demo-provider" version="v1.0" owner="allen">
<dubbo:parameter key="qos.enable" value="true"/>
<dubbo:parameter key="qos.port" value="22222"/>
<dubbo:parameter key="qos.accept.foreign.ip" value="false"/>
</dubbo:application>
<dubbo:registry address="zookeeper://152.136.111.235:2181" timeout="10000"/>
<dubbo:protocol name="dubbo" port="20880"/>
<!-- 生产者配置 -->
<dubbo:service interface="com.allen.api.HelloService" ref="helloService" version="0.0.0"/>
<!-- 消费者配置 -->
<dubbo:reference id="helloService" interface="com.allen.api.HelloService" check="true">
<dubbo:method name="sayHello" timeout="3000" retries="2"/>
</dubbo:reference>
SpringBoot 主动拆卸 application.properties
#dubbo 服务配置
dubbo.application.name=dubbo-demo-annotation-consumer
dubbo.application.owner=allen
dubbo.application.version=v1.0
dubbo.application.qosEnable=true
dubbo.application.qosPort=22222
dubbo.application.qosAcceptForeignIp=false
#注册核心的协定和地址
dubbo.registry.protocol=zookeeper
dubbo.registry.address=127.0.0.1:2181
#近程调用协定
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880