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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。