Dubbo配置_2

本文详细介绍了Dubbo的配置原则,包括加载顺序、启动时检查、超时时间、重试次数、版本号管理和本地存根。此外,还讨论了集群容错配置,并提供了与SpringBoot整合的多种方式。通过案例展示了如何配置超时、重试和版本控制,强调了幂等操作和非幂等操作的重试策略差异。
摘要由CSDN通过智能技术生成

配置的官方网址http://dubbo.apache.org/zh-cn/docs/user/configuration/xml.html

1、配置原则

1 .properties加载顺序

1-1dubbo.properties 加载顺序 优先1,其次2 ,最后3 

上面图中的顺序对应下面的3中情况

1.JVM 启动 -D 参数优先,这样可以使用户在部署和启动时进行参数重写,比如在启动时需改变协议的端口。

2.XML 次之,如果在 XML 中有配置,则 dubbo.properties 中的相应配置项无效。相当于和spring整合项目里的provider.xml,与springboot整合的application.properties文件

3.Properties 最后,相当于缺省值,只有 XML 没有配置时,dubbo.properties 的相应配置项才会生效,通常用于共享公共配置,比如应用名

为了便于测试效果,我们在boot-user-service-provider项目中创建一个dubbo.properties文件

我们只修改对应的端口号,便于区分

1.虚拟机参数 -Ddubbo.protocol.port=20880

2.application.properties文件中的修改 

3.dubbo.properties文件中的配置 只需配置一行端口号

dubbo.protocol.port=20882

运行启动程序 开后台日志信息

1.设计虚拟机参数 ,对应的两个配置文件也配置好了,优先加载的20880 虚拟机参数是优先

2. 删除虚拟机参数,看另外两个的顺序,先加载application.properties 文件

3.注释掉application.properties文件中的配置 ,最后加载的是dubbo.properties文件

2、启动时检查

      Dubbo 缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止 Spring 初始化完成,以便上线时,能及早发现问题,默认 check="true"

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

另外,如果你的 Spring 容器是懒加载的,或者通过 API 编程延迟引用服务,请关闭 check,否则服务临时不可用时,会抛出异常,拿到 null 引用,如果 check="false",总是会返回引用,当服务恢复时,能自动连上。

如图即使我们注释掉了user-service-consumer 项目中的条用的代码,依然是报错的

当我们修改配置comsumer.xml文件中 增加check="false" 这个配置再看控制台的消息

    <!-- 调用的服务 -->
    <dubbo:reference id="userService" interface="com.atguigu.gmail.service.UserService"
    check="false"/>

可以看到增加一段配置后控制台没有报错了

这个只是一个消费服务这的服务不检查,如果实际的项目的服务消费者比较多,我们一一的配置比较麻烦,还有一个中同一配置消费服务不检查的配置还是在consumer.xml文件中 增加,效果和上面的是一样

<!-- 配置当前消费者同一规则:所有的服务都不检查 -->
    <dubbo:consumer check="false"></dubbo:consumer>

3、超时时间

由于网络或服务端不可靠,会导致调用出现一种不确

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值