如何检测应用程序中的网络超时的原因
说明,A和B都是一个服务,A通过网络调用B
如何排查B处理没有超时,但是A端有很多调用B的地方发生了超时呢?
1.B写响应慢导致?
2.B处理响应慢?
3.transport的线程模型慢,导致按时达到的请求没有在timeout进行读处理,从而让A超时?
4.还是数据的编解码耗时?
5.如果是transport耗时,能不能采用dubbo来解决这个问题,看看dubbo的通信是不是更高效?
解决思路:
1.先把B的超时收集到A,然后在A进行落日志并采集到ES中
2.找到一台机器的调用链路日志进行分析可能的原因
怎么想的(设计方案)和怎么做(实现方式)是相对独立的,意思就是想法有一种,但是实现想法的方式可以有多种的,这个道理应该搞清楚。