why哥这里有一道Dubbo高频面试题,请查收。 (5)

简介: why哥这里有一道Dubbo高频面试题,请查收。 (5)

image.png


也就是不论怎样,最终都会调用这个 received 方法,最终都会通过这个方法把对应调用编号的 DefaultFuture 对象从 FUTURE 这个 MAP 中移除。



上面这个任务怎么触发呢?


Dubbo 自己搞了个 HashedWheelTimer ,这是什么东西?


时间轮调度算法呀:


image.png


你发起一个请求,指定时间内没有返回结果,于是就取消(future.cancel)这个请求。


这个需求不就类似于你下单买个东西,30 分钟还没有支付,于是平台自动给你取消了订单吗?


时间轮,可以解决你这个问题。之前的这篇文章中有介绍:《面试时遇到『看门狗』脖子上挂着『时间轮』,我就问你怕不怕?》


一个 2.7.5 版本关于检查 Dubbo 超时的小知识点,送给大家。


image.png


验证编号


前面一直在强调,这个调用编号很重要。


image.png


所以为了让大家有个更加直观的认识,我截个简单的图,给大家验证一下这个编号确实是贯穿请求和响应的。

首先,改造一下我们的服务端:


image.png


先连续发 40 个请求到服务端,对于这些请求服务端都需要 10 秒的时间才能处理完成。


然后再发生一个特定请求到服务端,能即使返回。并在 39 行打上断点。


首先,看一下 DefaultFuture 里面的调用编号。


没看之前,你先猜一下,当前 debug 的这个请求的调用编号是多少?


是不是 40 号(编号从 0 开始)?


来验证一下:


image.png


所以在发送请求的地方,在 header 里面设置调用编号为 40:


image.png


然后看一下响应回来之后,对应的调用编号是否是 40:


image.png


image.png


才疏学浅,难免会有纰漏,如果你发现了错误的地方,可以在留言区提出来,我对其加以修改。


感谢您的阅读,我坚持原创,十分欢迎并感谢您的关注。


我是 why,一个被代码耽误的文学创作者,不是大佬,但是喜欢分享,是一个又暖又有料的四川好男人。

目录
相关文章
|
7月前
|
负载均衡 Dubbo Java
Dubbo面试题
Dubbo面试题
66 0
|
7月前
|
自然语言处理 Dubbo Java
【面试问题】Dubbo 推荐用什么协议?
【1月更文挑战第27天】【面试问题】Dubbo 推荐用什么协议?
|
6月前
|
负载均衡 Dubbo 安全
dubbo面试题收集
dubbo面试题收集
|
6月前
|
负载均衡 Dubbo 安全
dubbo面试题库
dubbo面试题库
|
6月前
|
负载均衡 Dubbo Java
哈啰面试:说说Dubbo运行原理?
哈啰面试:说说Dubbo运行原理?
52 0
哈啰面试:说说Dubbo运行原理?
|
6月前
|
缓存 NoSQL 数据库
分布式系统面试全集通第一篇(dubbo+redis+zookeeper----分布式+CAP+BASE+分布式事务+分布式锁)
分布式系统面试全集通第一篇(dubbo+redis+zookeeper----分布式+CAP+BASE+分布式事务+分布式锁)
109 0
|
Dubbo Java 应用服务中间件
Dubbo第二讲:深入理解dubbo分布式服务框架/负载/容错/调优/高可用/dubbo网关/面试/技术选型
Dubbo第二讲:深入理解dubbo分布式服务框架/负载/容错/调优/高可用/dubbo网关/面试/技术选型
310 0
|
7月前
|
监控 负载均衡 Dubbo
Dubbo 面试题及答案整理,最新面试题
Dubbo 面试题及答案整理,最新面试题
152 1
|
7月前
|
XML Dubbo Java
【面试问题】Dubbo 的整体架构设计有哪些分层?
【1月更文挑战第27天】【面试问题】Dubbo 的整体架构设计有哪些分层?