【技术实现步骤摘要】
服务调用方法、装置、设备、系统、存储介质及产品
[0001]本申请实施例涉及计算机
,尤其涉及服务调用方法、装置、设备、存储介质及产品。
技术介绍
[0002]在数据规模越来越庞大、以及程序响应速度要求越来越来高的条件下,微服务分布式架构应运而生,服务以模块化分别部署在不同的计算平台,通过通信协议来进行通信,如远程过程调用(Remote Procedure Call,RPC)协议等,系统与系统之间的通信一般需要通过互联网,如采用超文本传输协议(Hyper Text Transfer Protocol,HTTP)协议等。
[0003]在实际业务中,可能有很多场景存在短时间内处理大批用户任务的需求,为了满足该需求,往往需要短时间内对下游服务发起批量调用,需考虑到能及时发送业务需要的信息,且要防止请求集中在某段时间内导致下游服务负担过重,进而导致整个业务需求无法完成。
技术实现思路
[0004]本申请实施例提供了服务调用方法、装置、设备、存储介质及产品,可以更加合理地进行服务调用。
[0005]第一方面,本申请提供了一种服务调用方法,该方法包括:
[0006]通过第一线程根据目标调用任务的目标调用请求数量,向预设队列中写入预设标识数据,其中,所述预设队列的容量为预设数值,被写入所述预设队列中的预设标识数据的总数量与所述目标调用请求数量一致;
[0007]通过预设数量的第二线程以竞争方式从所述预设队列中取出所述预设标识数据;
[0008]通过成功取出所述预设标识数 ...
【技术保护点】
【技术特征摘要】
1.一种服务调用方法,其特征在于,包括:通过第一线程根据目标调用任务的目标调用请求数量,向预设队列中写入预设标识数据,其中,所述预设队列的容量为预设数值,被写入所述预设队列中的预设标识数据的总数量与所述目标调用请求数量一致;通过预设数量的第二线程以竞争方式从所述预设队列中取出所述预设标识数据;通过成功取出所述预设标识数据的第二线程向所述目标调用任务对应的下游服务发送调用请求。2.根据权利要求1所述的方法,其特征在于,还包括:在通过所述第一线程向所述预设队列中写入所述预设标识数据的过程中,若写入失败,则启动新的第二线程;通过所述新的第二线程从所述预设队列中取出所述预设标识数据,并向所述目标调用任务对应的下游服务发送调用请求。3.根据权利要求1所述的方法,其特征在于,还包括:在通过所述第一线程向所述预设队列中写入第一预设标识数据后,基于预设方式确定目标等待时长,并在经过所述目标等待时长后,向所述预设队列中写入第二预设标识数据。4.根据权利要求3所述的方法,其特征在于,在所述基于预设方式确定目标等待时长之前,还包括:确定预期发送请求数量;若已发送请求数量小于所述预期发送请求数量,则即时向所述预设队列中写入所述第二预设标识数据。5.根据权利要求3所述的方法,其特征在于,所述基于预设方式确定目标等待时长,包括:基于第一预设方式,根据预期速率、已消耗时长和已发送请求数量,确定目标等待时长,其中,所述预期速率根据所述目标调用任务的目标完成时长与所述目标调用请求数量的商确定,所述已消耗时长根据当前时刻与所述目标调用任务的开始执行时刻的差确定。6.根据权利要求5所述的方法,其特征在于,所述基于第一预设方式,根据预期速率、已消耗时长和已发送请求数量,确定目标等待时长,包括:根据已发送请求数量确定目标发送数量,其中,所述目标发送数量为所述已发送请求数量与1的和;根据所述目标发送数量与所述预期速率的商,确定目标时长;根据所述目标时长与所述已消耗时长的差,确定目标等待时长。7.根据权利要求3所述的方法,其特征在于,所述基于预设方式确定目标等待时长,包括:基于第二预设方式,根据初始速率、预设增长率、已消耗时长和已发送请求数量,确定目标等待时长,其中,所述初始速率和所述预设增长率根据所述目标调用任务设定,所述已消耗时长根据当前时刻与所述目标调用任务的开始执行时刻的差确定。8.根据权利要求7所述的方法,其特征在于,所述基于第二预设方式,根据初始速率、预设增长率、已消耗时长和已发送请求数量,确定目标等待时长,包括:根据已发送请求数量和预期发送请求数量确定目标数量差值,其中,所述目标数量差
值为所述已发送请求数量与1的和,减去所述预期发送请求数量;根据所述初始速率、所述预设增长率以及所述已消耗时长,确定目标速率;根据所述目标速率与所述目标数量差值的乘积,确定目标等待时长。9.一种服务调用方法,其特征在于,应用于...
【专利技术属性】
技术研发人员:郑鑫,
申请(专利权)人:广州市百果园网络科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。