【技术实现步骤摘要】
分布式重试方法、装置、电子设备和存储介质
本专利技术涉及异常处理
,特别是涉及一种分布式重试方法、装置、电子设备和存储介质。
技术介绍
现有技术中,对于分布式环境下导致的服务异常、超时等异常,一般会在业务逻辑的代码中加“3次重试”的操作,以减少偶然超时导致的系统影响。现有技术的重试方式,代码侵入性较强,而且当所依赖的服务长时间出现不可恢复的问题时,“3次重试”会增加线程运行时间,导致长时间阻塞,进而导致自身服务性能的整体下降。
技术实现思路
鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种分布式重试方法、装置、电子设备和存储介质。依据本专利技术的第一方面,提供了一种分布式重试方法,包括:在监控到预先注册的重试点对应的业务逻辑在执行过程中出现异常时,获取重试数据,并将所述重试数据和所述重试点对应的重试点标识发送给重试服务器,所述重试服务器用于对所述重试数据在所述重试客户端对应的集群中进行重试调度,所述重试点是执行业务逻辑的重试操作的入口;接收重试服务器发送来的重试调用指令,所述重试调用指令包括重试数据和重试点标识;根据所述重试调用指令,启动重试线程,通过所述重试线程调用接收到的重试数据执行重试点标识对应业务逻辑的重试操作。依据本专利技术的第二方面,提供了一种分布式重试方法,包括:接收重试客户端发送的重试数据和对应的重试点标识,并将所述重试数据放入所述重试点标识对应的第一重试队列, ...
【技术保护点】
1.一种分布式重试方法,其特征在于,应用于重试客户端,包括:/n在监控到预先注册的重试点对应的业务逻辑在执行过程中出现异常时,获取重试数据,并将所述重试数据和所述重试点对应的重试点标识发送给重试服务器,所述重试服务器用于对所述重试数据在所述重试客户端对应的集群中进行重试调度,所述重试点是执行业务逻辑的重试操作的入口;/n接收重试服务器发送来的重试调用指令,所述重试调用指令包括重试数据和重试点标识;/n根据所述重试调用指令,启动重试线程,通过所述重试线程调用接收到的重试数据执行重试点标识对应业务逻辑的重试操作。/n
【技术特征摘要】
1.一种分布式重试方法,其特征在于,应用于重试客户端,包括:
在监控到预先注册的重试点对应的业务逻辑在执行过程中出现异常时,获取重试数据,并将所述重试数据和所述重试点对应的重试点标识发送给重试服务器,所述重试服务器用于对所述重试数据在所述重试客户端对应的集群中进行重试调度,所述重试点是执行业务逻辑的重试操作的入口;
接收重试服务器发送来的重试调用指令,所述重试调用指令包括重试数据和重试点标识;
根据所述重试调用指令,启动重试线程,通过所述重试线程调用接收到的重试数据执行重试点标识对应业务逻辑的重试操作。
2.根据权利要求1所述的方法,其特征在于,在所述通过所述重试线程调用接收到的重试数据执行重试点标识对应业务逻辑的重试操作之后,还包括:
获取所述重试操作的执行结果,将所述执行结果存放到结果队列中;
通过回调线程从所述结果队列中读取所述执行结果,并将所述执行结果发送给所述重试服务器。
3.根据权利要求1所述的方法,其特征在于,在监控到预先注册的重试点对应的业务逻辑在执行过程中出现异常时,获取重试数据之前,还包括:
获取所述重试客户端所在集群的集群信息,并获取所述集群中的重试点信息,所述重试点信息包括重试点标识和重试策略,所述重试策略包括重试时间计算方式、重试数据有效期和重试次数阈值;
根据所述集群信息、重试点信息和所述重试客户端的客户端标识,生成注册信息,并将所述注册信息发送至重试服务器。
4.根据权利要求1所述的方法,其特征在于,所述在监控到预先注册的重试点对应的业务逻辑在执行过程中出现异常时,获取重试数据,并将所述重试数据和所述重试点对应的重试点标识发送给重试服务器,包括:
在监控到预先注册的重试点对应的业务逻辑在执行过程中出现异常时,获取重试数据,并确定所述业务逻辑对应的重试类型,所述重试类型包括自动重试或手动重试;
将所述重试数据、重试类型和所述重试点标识发送给重试服务器。
5.一种分布式重试方法,其特征在于,应用于重试服务器,包括:
接收重试客户端发送的重试数据和对应的重试点标识,并将所述重试数据放入所述重试点标识对应的第一重试队列,所述重试点标识是预先注册的重试点的标识,所述重试点是执行业务逻辑的重试操作的入口;
在到达所述第一重试队列中的重试数据对应的重试时间时,根据所述重试点标识对应的多个重试客户端,确定待执行重试操作的目标重试客户端,并将到达重试时间的重试数据作为目标重试数据;
根据所述目标重试数据和所述重试点标识,生成重试调用指令,并将所述重试调用指令发送至所述目标重试客户端,所述重试调用指令用于指示所述目标重试客户端通过重试线程调用所述目标重试数据执行所述重试点标识对应业务逻辑的重试操作。
6.根据权利要求5所述的方法,其特征在于,在接收重试客户端发送的重试数据之前,还包括:
接收重试客户端发送来的注册信息,所述注册信息包括集群信息、重试点信息和客户端标识,所述重试点信息包括重试点标识和重试策略,所述重试策略包括重试时间计算方式、重试数据有效期和重试次数阈值;
保存所述注册信息。
7.根据权利要求5所述的方法,其特征在于,所述根据所述重试点标识对应的多个重试客户端,确定待执行重试操作的目标重试客户端,包括:
对所述重试点标识对应的多个重试客户端进行轮询;
若轮询到的重试客户端可用,则将该重试客户端作为待执行重试操作的目标重试客户端;
若轮询到的重试客户端不可用,则将下一个可用的重试客户端作为待执行重试操作的目标重试客户端。
8.根据权利要求5所述的方法,其特征在于,所述接收重试客户端发送的重试数据和对应的重试点标识,并将所述重试数据放入所述重试点标识对应的第一重试队列,包括:
接收重试客户端发送的重试数据、重试点标识和重试类型;
若所述重试类型为自动重试,则将所述重试数据放入所述重试点标识对应的第一重试队列;
所述方法还包括:
若所述重试类型为手动重试,则将所述重试数据放入所述重试点标识对应的第二重试队列。
<...
【专利技术属性】
技术研发人员:马文斌,
申请(专利权)人:瑞庭网络技术上海有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。