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
。同时如果有多个不同的注册中心,可以声明多个
标签,并在
或
的 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
。同时,如果需要支持多协议,可以声明多个
标签,并在
中通过 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
。同时该标签为
或
的子标签,用于控制到方法级。
属性 | 描述 | 是否必填 |
---|---|---|
name | 方法名 | 是 |
timeout | 超时时间 | 否 |
retries | 重试次数 | 否 |
async | 是否异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程 | 否 |
demos
xml格式
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