dubbo从入门到精通 常用的dubbo配置,启动检查、超时、配置覆盖关系(九)

1 启动检查

一 不进行相关配置,不启动服务提供者,不远程调用方法,单纯的启动消费者。(直接报错

 

 

二 进行相关配置,不启动服务提供者,不远程调用方法,单纯的启动消费者。(正常启动)

 

三 配置详解(二者选一)

    <!-- 关闭单个接口调用的启动检查  关了之后没有服务者不报错-->
    <dubbo:reference interface="com.atguigu.gmall.service.UserService" 
        id="userService" check="false" >
        <!-- <dubbo:method name="getUserAddressList" timeout="1000"></dubbo:method> -->
    </dubbo:reference>
    <!-- 关闭所有服务的启动检查  关了之后没有服务者不报错-->
    <dubbo:consumer check="false" />

 

2  超时&配置覆盖关系

消费者调用服务提供方时,在指定的时间内没有数据返回,就立即终止。

一 服务提供方接口睡4000ms,消费者timeout设置3000ms (规定时间内无数据返回,终止调用)

 

  

二 服务提供方接口睡4000ms,消费者timeout设置5000ms (规定时间内有数据返回,正常调用)

 

三 配置优先级

不同粒度配置的覆盖关系 

以 timeout 为例,下图显示了配置的查找顺序,其它 retries, loadbalance, actives 等类似:

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

 

四 配置优先级测试(方法级timeout 1000ms 接口5000ms 服务提供方还是睡4000ms  正常 方法级大于接口级别 超时调用失败,1000ms 生效)

 

 

 

 全局配置最弱

1
<dubbo:consumer check="false" timeout="5000"/>

四 配置优先级测试(服务提供方睡4000ms 超时timeout 设置 1000ms  消费者超时设置5000ms ,发现调用成功 5000ms 生效 可见 消费者配置>提供者配置)

 

 

 

 

 也可以统一设置服务提供方的全局配置 优先级和消费者一样

 <!--统一设置服务提供方的规则 -->
 <dubbo:provider timeout="1000" />

五 配置优先级测试(服务提供方睡4000ms 超时精确方法级timeout 设置 1000ms  消费者超时接口级设置5000ms ,发现调用失败 1000ms 生效(调用失败)  可见如果级别一样,则消费方优先,提供方次之。

 

发现调用失败 提供者里的方法级的timeout 生效了  消费者里的接口级没生效

 

 

本文作者:KwFruit

本文链接:https://www.cnblogs.com/mangoubiubiu/p/14908904.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   KwFruit  阅读(193)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起