Dubbo实战介绍1 - 配置方式

dubbo的四种配置方式

   dubbo的配置主要分为三大类,服务发现,服务治理和性能调优

   服务发现类:表示该配置用于服务的注册于发现,目的是让消费者找到生产者

   服务治理类:表示该配置用于治理服务间的关系,或为开发测试提供便利条件

   性能调优类:表示该配置用于性能调优,不同的选项会对性能产生不同的影响。

   介绍具体的配置之前,我们先看看Dubbo支持的四种配置方式。

1.xml配置

   我们可以使用xml对Dubbo进行配置,我们可以像使用Spring的xml配置一样来进行配置。比如:

  

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://code.alibabatech.com/schema/dubbo
       http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

    <!--提供者应用名字-->
    <dubbo:application name="provider"/>
    <!-- 注册中心的ip地址 -->
    <dubbo:registry address="zookeeper://xxx.xxx.xx.xx:2181"/>
    <!--声明dubbo协议跟端口-->
    <dubbo:protocol name="dubbo" port="20880"/>
    <!--声明需要暴露的接口-->
    <dubbo:service interface="com.yang.test.api.TestService" ref="testServcie"/>
    <!--和本地bean一样实现服务-->
    <bean id="testServcie" class="com.yang.test.service.impl.TestServiceImpl"/>
</beans>

以上配置就是使用了Dubbo扩展的dubbo:application dubbo:registry dubbo:service等等标签,标签的具体介绍后面会讲

<dubbo:service/> 服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心。

<dubbo:reference/> 引用配置,用于创建一个远程服务代理,一个引用可以指向多个注册中心。

<dubbo:protocol/> 协议配置,用于配置提供服务的协议信息,协议由提供方指定,消费方被动接受。

<dubbo:application/> 应用配置,用于配置当前应用信息,不管该应用是提供者还是消费者。

<dubbo:module/> 模块配置,用于配置当前模块信息,可选。

<dubbo:registry/> 注册中心配置,用于配置连接注册中心相关信息。

<dubbo:monitor/> 监控中心配置,用于配置连接监控中心相关信息,可选。

<dubbo:provider/> 提供方的缺省值,当ProtocolConfig和ServiceConfig某属性没有配置时,采用此缺省值,可选。

<dubbo:consumer/> 消费方缺省配置,当ReferenceConfig某属性没有配置时,采用此缺省值,可选。

<dubbo:method/> 方法配置,用于ServiceConfig和ReferenceConfig指定方法级的配置信息。 <dubbo:argument/> 用于指定方法参数配置。

配置覆盖的优先级

   方法级别优先,接口次之,全局配置再次之

   如果级别一样,则消费者优先,提供者次之。

小建议:虽然消费者优先,但是建议设置生产者,比如超时timeout。因为提供者更清楚一个方法需要执行多久。

属性设置

我们还可以对Dubbo使用properties文件进行设置。比如存在公共配置很简单,又没有多注册中心和多协议等的情况。Dubbo会自动加载classpath根目录的dubbo.properties文件,也可以使用jvm的启动参数-Dubbo.properties.file=mydubbo.propertis来指定文件的位置

下面是一个dubbo.properties的一个配置示例。

dubbo.application.name=provider
dubbo.application.owner=test
dubbo.registry.address=zookeeper://xxx.xxx.xx.xx:2181

1、属性的配置规则遵循以下约定:

      讲xml配置的标签名加属性名叫,用点分割,将多个属性拆成多个行,比如:
      dubbo.application.name=provider 等价于 <dubbo:application name="provider"/>

     如果xml有多行同名标签配置,则可用id号区分,如果没有id号,则将对所有的同名标签生效

2、配置方式的优先级别

     1、jvm启动-D参数优先。xml次之,properties最后(相当于默认值,只有没有xml时候,dubbo.properties才会生效)

API配置

也可以通过程序代码对dubbo进行配置,该方式一般用于test,mock等,生产环境推荐用xml方式和属性方式

API属性配置与xml配置项是一一对应的,比如 ApplicationConfig application = new ApplicationConfig();application.setName("dubbo-api-test");等价于<dubbo:application name="provider"/>

参考下面的链接:

https://blog.csdn.net/superdaojian/article/details/80494735

注解配置

还可以使用注解对Dubbo进行配置,该方式是2.5.7版本之后新增的,可以大量节省xml配置和属性配置,配置风格像springboot

https://blog.csdn.net/kinweini/article/details/81022606

 

 

源码地址:https://download.csdn.net/download/u013083284/10744134

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值