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
namedubbo, 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

AllenYang
4 声望3 粉丝

We don't get to choose who we love