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 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步