The embodiment of this application discloses a remote procedure call request control method and device, in which the method includes: the client counts the failure rate or success rate of RPC requests for remote procedure calls; if the failure rate reaches the preset first threshold, or the success rate is lower than the preset second threshold, the time-out of RPC requests is extended and adjusted; and after the adjustment is completed, the time-out of RPC requests is extended and adjusted. The adjusted timeout time is used to determine whether the RPC request is successful or not. Through the embodiment of the present application, while ensuring the availability of the system, the probability that the service capability of the system will continue to decline or even be unavailable can be reduced.
【技术实现步骤摘要】
远程过程调用请求控制方法及装置
本申请涉及远程过程调用
,特别是涉及远程过程调用请求控制方法及装置。
技术介绍
RPC(RemoteProcedureCallProtocol,远程过程调用协议)是一种通过网络从远程计算机程序上请求服务的协议。该协议采用客户机/服务器模式,请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,客户端调用进程接收答复信息,获得进程结果。例如,在销售平台系统中,消费者用户通过其终端设备上安装的销售平台客户端程序浏览具体的商品信息,甚至可能执行购买等操作,用户发出的具体的请求,客户端通常需要调用服务端提供的API(ApplicationProgrammingInterface,应用程序编程接口)接口来获得相应的处理结果,而在API调用的内部实现中,具体就是通过RPC请求的方式与服务器进行交互。在RPC协议中,客户端往往会为RPC请求设定一定的超时时间,也即,假设RPC请求的超时时间设定为1S,则从客户端发出RPC请求开始计时,如果在1S之内收到了服务器的答复信息,则客户端认为此次RPC请求成功,而如果已经到达1S,但一直未收到服务器的答复信息,则客户端会认为此次RPC请求失败。通常情况下,RPC请求失败的原因,通常是由于服务器压力过大,使得服务器处理能力已经难以处理大量的RPC请求导致的。为解决上述问题,在现有技术中,客户端可以采用“退 ...
【技术保护点】
1.一种远程过程调用请求控制方法,其特征在于,包括:客户端统计远程过程调用RPC请求的失败率或成功率;如果所述失败率达到预置的第一阈值,或成功率低于预置的第二阈值,则对RPC请求的超时时间进行延长调整;对于在所述调整完成后发送的RPC请求,利用所述调整后的超时时间,对RPC请求的成功与否进行判定。
【技术特征摘要】
1.一种远程过程调用请求控制方法,其特征在于,包括:客户端统计远程过程调用RPC请求的失败率或成功率;如果所述失败率达到预置的第一阈值,或成功率低于预置的第二阈值,则对RPC请求的超时时间进行延长调整;对于在所述调整完成后发送的RPC请求,利用所述调整后的超时时间,对RPC请求的成功与否进行判定。2.根据权利要求1所述的方法,其特征在于,所述统计RPC请求的失败率或成功率,包括:对RPC请求的失败率或成功率进行周期性的实时统计;所述对RPC请求的超时时间进行延长调整,包括:每次确定出所述失败率达到预置的第一阈值,或成功率低于预置的第二阈值时,均对RPC请求的超时时间进行延长调整。3.根据权利要求2所述的方法,其特征在于,每次进行失败率或成功率统计时,通过以下方式进行:获取当前统计时刻前预置数目个周期内的RPC请求失败率或成功率;对所述前预置数目个周期内的RPC请求失败率或成功率进行加权平均,将计算结果确定为当前统计时刻的RPC请求失败率或成功率。4.根据权利要求3所述的方法,其特征在于,距离当前统计时刻越近的周期,权重越高。5.根据权利要求1至4任一项所述的方法,其特征在于,所述对RPC请求的超时时间进行延长调整,包括:根据所述失败率或成功率对RPC请求的超时时间进行延长调整。6.根据权利要求5所述的方法,其特征在于,所述根据所述失败率或成功率对RPC请求的超时时间进行延长调整,包括:在RPC请求的超时时间原始值基础上,根据所述失败率或成功率增加调整值;其中,所述调整值通过以下方式确定:计算API请求的超时时间与所述RPC请求的超时时间原始值之间的差值,并将该差值与所述失败率之间的乘积,确定为所述调整值。7.根据权利要求1至4任一项所述的方法,其特征在于,还包括:如果所述失败率达到预置的第三阈值,或成功率低于预置的第四阈值,则对收到的部分API调用请求进行丢弃处理。8.根据权利要求7所述的方法,其特征在于,API调用请求的丢弃比例...
【专利技术属性】
技术研发人员:彭文文,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。