Dubbo从入门到放弃(三)------属性配置

目录

1.属性加载顺序

2.启动检查

2.1.消费者启动检查服务是否可用

2.1.1.单个服务

2.1.2.多个服务

2.2.启动检查注册中心是否可用

3.超时设置

4.重试次数

5.多版本


1.属性加载顺序

属性配置分以下几类

  • xml配置
  • api配置
  • 注解配置

以属性配置的方式来配置dubbo应用

如果需要配置文件外部挂载,可以使用JVM参数来指定路径:

-Ddubbo.properties.file=xxx.properties

重写和优先级

优先级从高到低

  • JVM -D 参数:当你部署或者启动应用时,它可以轻易地重写配置;
  • XML:XML 中的当前配置会重写 dubbo.properties 中的;
  • Properties:默认配置,仅仅作用于以上两者没有配置时。

这里需要注意一点是,springboot的配置文件application.yml中的dubbo配置等价于XML方式,优先级排第二位

2.启动检查

dubbo默认会在启动时检查依赖的服务是否可用,不可用时会抛出异常,默认 check="true"

可以通过 check="false" 关闭检查,比如,测试时,有些服务不关心,或者出现了循环依赖,必须有一方先启动

2.1.消费者启动检查服务是否可用

2.1.1.单个服务

xml配置方式如下:

<dubbo:reference id="testService" version="1.0.0.1" 
interface="com.xe.base.service.ITestService" check="false" />

注解方式如下:

@DubboReference(version = "1.0.0",check = false)
private ITestService testService;

2.1.2.多个服务

有很多种方法:

一种直接在application.yml中增加

dubbo:
  consumer:
    check: false

一种新建一个dubbo.xml文件:

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

启动器上添加

@ImportResource(value = {"classpath:dubbo.xml"})
public class XeWebApplication

2.2.启动检查注册中心是否可用

关闭启动是检测注册中心是否可用的功能,如果有dubbo.xml文件,则配置如下:

<dubbo:registry check="false" />

或者在application.yml中配置也可以

dubbo:
  registry:
    address: zookeeper://127.0.0.1:2181
    check: false

3.超时设置

timeout=0,默认是1000ms

两个原则:

  1. 方法级优先,接口级次之,全局配置再次之
  2. 如果级别一样,则消费者优先,提供者次之

4.重试次数

当某个服务由于网络不佳或者运行超时,方法远程调用失败,我们可以调整重试次数,让它多尝试几次

重试次数是一个整数,不包含第一次调用

<dubbo:consumer retries="2"></dubbo:consumer>

<!-- 或者 -->
dubbo:
  consumer:
    retries: 3

当有多个服务提供方的时候,在当前服务实例调用失败后,会尝试调用其他服务实例

5.多版本

当一个接口的功能出现了不兼容的升级,出现了多个实现类

可以按照以下的步骤进行版本迁移:

  1. 在低压力时间段,先升级一半提供者为新版本
  2. 再将所有消费者升级为新版本
  3. 然后将剩下的一半提供者升级为新版本
<!-- 服务提供者 -->
@DubboService(version = "1.0.0")
@DubboService(version = "2.0.0")
<!-- 或者 -->
<dubbo:service interface="com.foo.BarService" version="1.0.0" />
<dubbo:service interface="com.foo.BarService" version="2.0.0" />

<!-- 服务消费者 -->
@DubboReference(version = "1.0.0")
@DubboReference(version = "2.0.0")
<!-- 或者 -->
<dubbo:reference id="barService" interface="com.foo.BarService" version="1.0.0" />
<dubbo:reference id="barService" interface="com.foo.BarService" version="2.0.0" />

如果不需要区分版本,则

<dubbo:reference id="barService" interface="com.foo.BarService" version="*" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彼岸花@开

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值