一种服务请求的方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:30320884 阅读:67 留言:0更新日期:2021-10-09 23:40
本发明专利技术公开了一种服务请求的方法、装置、计算机设备及存储介质,其中方法至少包括如下步骤:获取熔断状态信息,熔断状态信息包括熔断打开和关闭;并根据熔断打开向提供当前服务的接口发出握手连接请求,确定握手连接成功或握手连接失败;基于发出的握手连接请求统计预设时间段内握手连接成功的次数;根据握手连接成功的次数达到第一阈值,停止熔断当前服务并更新熔断状态信息为熔断关闭;响应于当前服务熔断关闭的状态发出当前服务的请求信息。相比于传统控制服务熔断结束的方案,本发明专利技术能够以握手连接成功的次数作为是否结束熔断的判断依据,以达到更快地恢复服务的目的,具有时效性更佳、效率高等技术效果,极大提升了用户体验和满意度。验和满意度。验和满意度。

【技术实现步骤摘要】
一种服务请求的方法、装置、计算机设备及存储介质


[0001]本专利技术涉及计算机网络
,更为具体来说,本专利技术能够提供一种服务请求的方法、装置、计算机设备及存储介质。

技术介绍

[0002]在微服务架构中,熔断机制属于一种使用频率较高的微服务链路保护机制。在启动服务熔断之后,根据预先设定的间隔时间段后关闭熔断重新进行服务请求,如果服务仍不可用再次启动服务熔断以及经过间隔时间段重新发起服务请求和判断服务是否可用,反复执行上述等待和判断过程,直至服务正常可用。很显然,这种不断尝试的方法不仅造成了大量资源的浪费,而且通过服务请求判断是否可用的过程增加了服务提供方的负担,导致恢复服务正常调用的时间非常长,一般都需要经过多个上述间隔时间段(MMTR,Mean Time To Recover from downtime,平均停机恢复时间),进而导致用户的等待时间过长、用户体验非常差等问题,故亟待需要解决。

技术实现思路

[0003]为解决常规技术在服务熔断后存在的恢复时间长、用户等待时间过长等问题,本专利技术能够提供一种服务请求的方法、装置、计算机设备及存储介质,以达到极大地缩短服务恢复至正常的时间、提高用户满意度等目的。
[0004]为实现上述的技术目的,本专利技术提供了一种服务请求的方法,该方法可包括但不限于如下的至少一个步骤。
[0005]获取用于当前服务的熔断状态信息,所述熔断状态信息包括熔断打开和熔断关闭;
[0006]若所述熔断状态信息为熔断打开的状态,向提供所述当前服务的接口发出握手连接请求,并确定握手连接成功或握手连接失败;
[0007]基于发出的所述握手连接请求统计预设时间段内的握手连接成功的次数;其中,若握手连接失败,则重新统计握手连接成功的次数;
[0008]若所述握手连接成功的次数达到第一阈值,停止熔断当前服务并更新所述熔断状态信息为熔断关闭;
[0009]响应于所述当前服务熔断关闭的状态,发出当前服务的请求信息。
[0010]进一步地,所述基于发出的所述握手连接请求统计预设时间段内的握手连接成功的次数包括:
[0011]根据发出握手连接请求触发定时计数器启动,所述定时计数器用于在被触发后的所述预设时间段内进行计数;
[0012]在所述预设时间段内,根据握手连接成功和/或失败的消息控制定时计数器数值变化;
[0013]根据所述定时计数器数值统计握手连接成功的次数。
[0014]进一步地,所述在所述预设时间段内,根据握手连接成功和/或失败的消息控制定时计数器数值变化包括:
[0015]根据握手连接成功的消息控制定时计数器数值增加,和/或根据握手连接失败的消息控制定时计数器数值复位为初始值;
[0016]判断定时计数器已启动时长,以及根据所述已启动时长达到所述预设时间段停止定时计数器计数,或者根据所述已启动时长小于所述预设时间段继续根据握手连接成功和/或失败的消息控制定时计数器数值变化。
[0017]进一步地,所述熔断状态信息还包括熔断半打开。
[0018]所述统计预设时间段内的握手连接成功的次数之后还包括:
[0019]根据所述握手连接成功的次数达到第二阈值,更新所述熔断状态信息为熔断半打开;所述第二阈值小于所述第一阈值;
[0020]根据所述熔断状态信息为熔断半打开,向提供所述当前服务的接口发出测试服务;所述测试服务占用的流量小于所述当前服务占用的流量;
[0021]根据所述测试服务请求成功更新所述熔断状态信息为熔断关闭,或者根据所述测试服务请求失败更新所述熔断状态信息为熔断打开。
[0022]进一步地,所述根据所述熔断状态信息为熔断半打开,向提供所述当前服务的接口发出测试服务包括:
[0023]根据所述熔断状态信息为熔断半打开创建线程池;
[0024]通过所述线程池提供用于形成测试服务的至少一个线程;
[0025]利用所述至少一个线程向提供所述当前服务的接口发出测试服务。
[0026]进一步地,所述向提供所述当前服务的接口发出握手连接请求包括:
[0027]读取用于测试网络连接量的数据包;
[0028]通过所述数据包生成握手连接请求;
[0029]将所述握手连接请求发送至所述提供所述当前服务的接口。
[0030]进一步地,所述向提供所述当前服务的接口发出握手连接请求还包括:
[0031]发出握手连接请求的同时获取所述接口对应服务器的可用流量;
[0032]比较所述可用流量与所述当前服务占用的流量;
[0033]根据所述可用流量大于或等于所述当前服务占用的流量停止熔断当前服务,并更新所述熔断状态信息为熔断关闭;
[0034]为实现上述的技术目的,本专利技术还能够提供一种服务请求的装置,该装置包括但不限于熔断状态获取模块、连接请求发出模块、连接次数统计模块、服务熔断停止模块以及服务请求发出模块。
[0035]熔断状态获取模块,用于获取用于当前服务的熔断状态信息,所述熔断状态信息包括熔断打开和熔断关闭。
[0036]连接请求发出模块,用于根据所述熔断状态信息为熔断打开的状态,向提供所述当前服务的接口发出握手连接请求,并确定握手连接成功或握手连接失败。
[0037]连接次数统计模块,用于基于发出的所述握手连接请求统计预设时间段内的握手连接成功的次数。
[0038]服务熔断停止模块,用于根据所述握手连接成功的次数达到第一阈值,停止熔断
当前服务以及更新所述熔断状态信息为熔断关闭。
[0039]服务请求发出模块,用于响应于所述当前服务熔断关闭的状态,发出当前服务的请求信息。
[0040]为实现上述的技术目的,本专利技术还能够提供一种计算机设备,计算机设备包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行本专利技术任一实施例中所述服务请求的方法的步骤。
[0041]为实现上述的技术目的,本专利技术还可提供一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行本专利技术任一实施例中所述服务请求的方法的步骤。
[0042]本专利技术的有益效果为:相比于传统控制服务熔断结束的方案,本专利技术能够以握手连接成功的次数作为是否结束熔断的判断依据,以达到更快地恢复服务的目的,具有时效性更佳、效率高等技术效果,极大提升了用户体验和满意度。可见本专利技术能够保证上游服务器和下游服务器的正常运行,即保证服务提供方可正常地为服务请求方提供目标服务,以避免由于熔断机制停止服务而导致相关业务停止、用于等待时间过长以及用户体验差等问题,特别对于并发服务较高的场景,例如电商促销或保险限购场景,本专利技术的时效优势更为明显。另外,本专利技术通过握手连接请求作为判断服务请求方状态的依据,还有助于减少计算资源的浪费。
附图说明
[0043]图1示出了本专利技术一个或多个实施例中服本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务请求的方法,其特征在于,包括:获取用于当前服务的熔断状态信息,所述熔断状态信息包括熔断打开和熔断关闭;若所述熔断状态信息为熔断打开的状态,向提供所述当前服务的接口发出握手连接请求,并确定握手连接成功或握手连接失败;基于发出的所述握手连接请求统计预设时间段内的握手连接成功的次数;其中,若握手连接失败,则重新统计握手连接成功的次数;若所述握手连接成功的次数达到第一阈值,停止熔断当前服务并更新所述熔断状态信息为熔断关闭;响应于所述当前服务熔断关闭的状态,发出当前服务的请求信息。2.根据权利要求1所述的服务请求的方法,其特征在于,所述基于发出的所述握手连接请求统计预设时间段内的握手连接成功的次数包括:根据发出握手连接请求触发定时计数器启动,所述定时计数器用于在被触发后的所述预设时间段内进行计数;在所述预设时间段内,根据握手连接成功和/或失败的消息控制定时计数器数值变化;根据所述定时计数器数值统计握手连接成功的次数。3.根据权利要求2所述的服务请求的方法,其特征在于,所述在所述预设时间段内,根据握手连接成功和/或失败的消息控制定时计数器数值变化包括:根据握手连接成功的消息控制定时计数器数值增加,和/或根据握手连接失败的消息控制定时计数器数值复位为初始值;判断定时计数器已启动时长,以及根据所述已启动时长达到所述预设时间段停止定时计数器计数,或者根据所述已启动时长小于所述预设时间段继续根据握手连接成功和/或失败的消息控制定时计数器数值变化。4.根据权利要求1所述的服务请求的方法,其特征在于,所述熔断状态信息还包括熔断半打开;所述统计预设时间段内的握手连接成功的次数之后还包括:根据所述握手连接成功的次数达到第二阈值,更新所述熔断状态信息为熔断半打开;所述第二阈值小于所述第一阈值;根据所述熔断状态信息为熔断半打开,向提供所述当前服务的接口发出测试服务;所述测试服务占用的流量小于所述当前服务占用的流量;根据所述测试服务请求成功更新所述熔断状态信息为熔断关闭,或者根据所述测试服务请求失败更新所述熔断状态信息为熔断打开。5.根据权利要求4所述的服务请求的方法,其特征在于...

【专利技术属性】
技术研发人员:齐天亮蒋鹏陈晓青
申请(专利权)人:中国平安财产保险股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1