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-consumerdubbo.application.owner=allendubbo.application.version=v1.0dubbo.application.qosEnable=truedubbo.application.qosPort=22222dubbo.application.qosAcceptForeignIp=false#注册核心的协定和地址dubbo.registry.protocol=zookeeperdubbo.registry.address=127.0.0.1:2181#近程调用协定dubbo.protocol.name=dubbodubbo.protocol.port=20880