Java 从零开启手写 RPC-timeout 超时处理
发布时间:2021-11-02 11:13:55 所属栏目:语言 来源:互联网
导读:前面我们实现了通用的 rpc,但是存在一个问题,同步获取响应的时候没有超时处理。如果 server 挂掉了,或者处理太慢,客户端也不可能一直傻傻的等。当外部的调用超过指定的时间后,就直接报错,避免无意义的资源消耗。思路调用的时候,将开始时间保留。获取
前面我们实现了通用的 rpc,但是存在一个问题,同步获取响应的时候没有超时处理。
如果 server 挂掉了,或者处理太慢,客户端也不可能一直傻傻的等。
当外部的调用超过指定的时间后,就直接报错,避免无意义的资源消耗。
思路
调用的时候,将开始时间保留。
获取的时候检测是否超时。
同时创建一个线程,用来检测是否有超时的请求。
实现
思路
调用的时候,将开始时间保留。
获取的时候检测是否超时。
同时创建一个线程,用来检测是否有超时的请求。
超时检测线程
为了不影响正常业务的性能,我们另起一个线程检测调用是否已经超时。 (编辑:淮北站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |