timeout超时是针对消费端还是服务端?
超时在哪设置?
超时设置的优先级是什么?
超时的实现原理是什么?
超时解决的是什么问题 ?
回答:
1.超时是针对消费端的,消费端会抛出TimeoutException 而服务器端仅仅是一个 warn日志
2.超时在消费端、服务器端都可以设置,dubbo会合并这两个设置的timeout值
3.consumer方法级别 > provider 方法级别 > consumer 接口级别 > provider 接口级别 > consumer 全局级别 > provider简单说就是 消费端> 服务端 且配置粒度越低效果越强。如果都没配置,那么就是dubbo默认的1秒
4.Dubbo使用Netty进行异步通信,消费端发送请求后启动定时器,超时则取消请求
5.超时解决的问题主要是防止资源耗尽和提高系统可用性