一种服务调用断路降级方法、装置、设备及介质制造方法及图纸

技术编号:37597290 阅读:13 留言:0更新日期:2023-05-18 11:45
本发明专利技术涉及互联网技术领域,具体提供一种服务调用断路降级方法、装置、设备及介质,旨在解决如何提高断路方法在服务调用中的适用性的问题。为此目的,本发明专利技术的一种服务调用断路降级方法,包括:基于银行接口的服务断路规则,生成相对应的配置文件;根据所述配置文件,建立每个银行接口对应的断路器实例对象;基于所述断路器实例对象,对相应的银行接口进行调用;若银行接口的调用情况满足对应的服务断路规则,则对该银行接口的服务进行熔断并进行服务降级。务降级。务降级。

【技术实现步骤摘要】
一种服务调用断路降级方法、装置、设备及介质


[0001]本专利技术涉及互联网技术,具体提供一种服务调用断路降级方法、装置、设备及介质。

技术介绍

[0002]在微服务技术潮流的推动下,应用微服务化成为必然,而微服务之间的调用变得复杂,尤其在方法调用失败时如何优雅地降级功能。使用断路器可以允许微服务在相关服务发生故障时继续运行,防止故障级联,并为发生故障的服务提供恢复时间。
[0003]目前编码领域比较流行的断路器是Spr i ngC l oud中的hyst i rx。微服务之间通过spr i ngc l oud的方式调用时,引入hystr i x的相关依赖并添加hystr i x相关配置即可开启微服务之间调用时,如有某个服务出现故障,可以保证整个微服务链路不受影响,实现服务断路和降级处理。
[0004]然而,对于调用方调用与调用方不注册在同一个spr i ngc l oud的注册中心中的第三方接口例如银联,当这样的第三方接口出现故障时,无法通过Spr i ngC l oud中的hyst i rx进行断路。
[0005]另外,对于一些没有使用spr i ngc l oud服务的应用,例如其使用了Apache的dubbo调用、或者使用最原生的http方式调用(如HttpUr l Connect i on、HttpC l i ent、OkHttp等),当出现故障时,也无法通过Spr i ngC l oud中的hyst i rx进行断路。因此,现有的断路器方法无法有效的适用于多种技术形式的服务调用。<br/>
技术实现思路

[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]图1是根据本专利技术的一个实施例的一种服务调用断路降级方法的主要步骤流程示意图;
[0039]图2是根据本专利技术的一个实施例的应用场景示意图;
[0040]图3是根据本专利技术的一个实施例的服务调用断路降级装置的原理结构示意图。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务调用断路降级方法,其特征在于,包括:基于银行接口的服务断路规则,生成相对应的配置文件;根据所述配置文件,建立每个银行接口对应的断路器实例对象;基于所述断路器实例对象,对相应的银行接口进行调用;若银行接口的调用情况满足对应的服务断路规则,则对该银行接口的服务进行熔断并进行服务降级。2.根据权利要求1所述的服务调用断路降级方法,其特征在于,所述服务断路规则包括:基于银行接口调用次数的断路规则和基于银行接口调用时间的断路规则;所述基于银行接口调用次数的断路规则,包括:预设时间内,银行接口调用的失败次数比例超过设置的失败次数比例阈值,则进行断路;所述基于银行接口调用时间的断路规则,包括:预设时间内,银行接口调用为慢呼叫次数比例超过设置的慢呼叫比例阈值,则进行断路,其中,所述慢呼叫为银行接口单次调用的时长超过单次调用时长阈值的银行接口调用。3.根据权利要求1所述的服务调用断路降级方法,其特征在于,所述基于银行接口的服务断路规则,生成相对应的配置文件,包括:根据不同银行接口所需的服务断路规则,生成相对应的配置文件,其中所述配置文件的配置属性包括:与服务断路规则相匹配的断路器类型、断路触发条件、规则启动条件和调用异常监控记录。4.根据权利要求1所述的服务调用断路降级方法,其特征在于,所述根据所述配置文件,建立每个银行接口对应的断路器实例对象,包括:读取所述配置文件中配置的属性值,将所述属性值转换为与银行接口对应的断路器实例对象。5.根据权利要求1所述的服务调用断路降级方法,其特征在于,所述基于所述断路器实例对象,对相应的银行接口进行调用,包括:根据待调用的银行接口,选择对应的断路器实例对...

【专利技术属性】
技术研发人员:戈子根郗亚静刘亚维张强朱静菠李春龙
申请(专利权)人:北京结慧科技有限公司
类型:发明
国别省市:

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

1