一种实现接口调用的限流和降级的方法、装置及介质制造方法及图纸

技术编号:39240612 阅读:11 留言:0更新日期:2023-10-30 11:53
本发明专利技术公开了一种实现接口调用的限流和降级的方法、装置及介质。其中,方法包括:初始化sentinel组件的数据源地址;根据数据源地址对数据源的流控规则、热点参数规则以及处理授权规则进行初始化并与sentinel组件的持久化数据库的增删改查操作进行绑定;将持久化数据库信息配置到接口调用系统的IOS容器中;创建接口调用系统和持久化数据库的对接包,并加入数据源的流控规则、热点参数规则以及处理授权规则的注解;在接口调用系统上进行数据源的规则配置,实现接口调用系统的sentinel组件调用的限流和降级。的限流和降级。的限流和降级。

【技术实现步骤摘要】
一种实现接口调用的限流和降级的方法、装置及介质


[0001]本专利技术涉及接口调用
,并且更具体地,涉及一种实现接口调用的限流和降级的方法、装置及介质。

技术介绍

[0002]接口平台在被多个系统调用的,加之每个系统调用比较频繁,尤其是在白天高峰期的时候,会导致接口返回缓慢,甚至出现服务崩溃的现象,这个是需要有限流和降级的方案。目前开源的限流和降级方案有很多,例如阿里巴巴的sentinel组件,最大的问题是不支持持久化,目前公开的持久化方案有,nacos配置中心持久化和本地文件持久化,但是配置中心持久化的前提是使用nacos作为配置中心,而且在配置中心上持久化数据的安全性值得考虑,而本地文件持久化存在多服务共享问题以及docker虚拟容器环境无法文件持久化,需要占用上级服务器持久化,比较麻烦。目前的方案是修改sentinel源码来解决mysql的持久化,但是这种修改源码的方式会导致后续sentinel源码升级,本地应用无法对应升级。

技术实现思路

[0003]针对现有技术的不足,本专利技术提供一种实现接口调用的限流和降级的方法、装置及介质。
[0004]根据本专利技术的一个方面,提供了一种实现接口调用的限流和降级的方法,包括:
[0005]初始化sentinel组件的数据源地址;
[0006]根据数据源地址对数据源的流控规则、热点参数规则以及处理授权规则进行初始化并与sentinel组件的持久化数据库的增删改查操作进行绑定;
[0007]将持久化数据库信息配置到接口调用系统的IOS容器中;
[0008]创建接口调用系统和持久化数据库的对接包,并加入数据源的流控规则、热点参数规则以及处理授权规则的注解;
[0009]在接口调用系统上进行数据源的规则配置,实现接口调用系统的sentinel组件调用的限流和降级。
[0010]可选地,持久化数据库为mysql数据库。
[0011]可选地,还包括:用户在接口调用系统调用中数据源的情况下,根据对接包实现和持久化数据库的对接。
[0012]可选地,对接包与接口调用系统为插拔式连接。
[0013]可选地,数据源的流控规则包括以下的任意一种或多种:API类型、API名称、针对请求属性,其中针对请求属性包括:阈值类型、QPS阈值、间隔、流控方式以及Burst长度。
[0014]可选地,流控规则以下的任意一种或多种:资源名、熔断策略、最大等待时长、比例阈值、熔断时长、最小请求数和统计时长。
[0015]根据本专利技术的另一个方面,提供了一种实现接口调用的限流和降级的装置,包括:
[0016]第一初始化模块,用于初始化sentinel组件的数据源地址;
[0017]第二初始化模块,用于根据数据源地址对数据源的流控规则、热点参数规则以及处理授权规则进行初始化并与sentinel组件的持久化数据库的增删改查操作进行绑定;
[0018]配置模块,用于将持久化数据库信息配置到接口调用系统的IOS容器中;
[0019]创建模块,用于创建接口调用系统和持久化数据库的对接包,并加入数据源的流控规则、热点参数规则以及处理授权规则的注解;
[0020]规则配置模块,用于在接口调用系统上进行数据源的规则配置,实现接口调用系统的sentinel组件调用的限流和降级。
[0021]根据本专利技术的又一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本专利技术上述任一方面所述的方法。
[0022]根据本专利技术的又一个方面,提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本专利技术上述任一方面所述的方法。
[0023]从而,本专利技术直接使用了mysql来持久化,既能安全的不被所有人看见,使用apollo作为配置中心历史方案,mysql持久化数据库可以使得多个服务部署能够很容易达到数据的共享。其次本专利技术使用mysql持久化是使用了外置包的方式,没有直接修改sentinel的源码,系统服务在对接开源sentinel之后,只需要再次引入本专利技术的jar包,就能达到无缝集成起来,不影响后续sentinel的版本升级。
附图说明
[0024]通过参考下面的附图,可以更为完整地理解本专利技术的示例性实施方式:
[0025]图1是本专利技术一示例性实施例提供的实现接口调用的限流和降级的方法的流程示意图;
[0026]图2是本专利技术一示例性实施例提供的实现接口调用的限流和降级的装置的结构示意图;
[0027]图3是本专利技术一示例性实施例提供的电子设备的结构。
具体实施方式
[0028]下面,将参考附图详细地描述根据本专利技术的示例实施例。显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是本专利技术的全部实施例,应理解,本专利技术不受这里描述的示例实施例的限制。
[0029]应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本专利技术的范围。
[0030]本领域技术人员可以理解,本专利技术实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
[0031]还应理解,在本专利技术实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
[0032]还应理解,对于本专利技术实施例中提及的任一部件、数据或结构,在没有明确限定或
者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
[0033]另外,本专利技术中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本专利技术中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0034]还应理解,本专利技术对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
[0035]同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0036]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本专利技术及其应用或使用的任何限制。
[0037]对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为说明书的一部分。
[0038]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0039]本专利技术实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实现接口调用的限流和降级的方法,其特征在于,包括:初始化sentinel组件的数据源地址;根据所述数据源地址对所述数据源的流控规则、热点参数规则以及处理授权规则进行初始化并与所述sentinel组件的持久化数据库的增删改查操作进行绑定;将所述持久化数据库信息配置到接口调用系统的IOS容器中;创建所述接口调用系统和所述持久化数据库的对接包,并加入所述数据源的流控规则、热点参数规则以及处理授权规则的注解;在所述接口调用系统上进行所述数据源的规则配置,实现所述接口调用系统的所述sentinel组件调用的限流和降级。2.根据权利要求1所述的方法,其特征在于,所述持久化数据库为mysql数据库。3.根据权利要求1所述的方法,其特征在于,还包括:用户在所述接口调用系统调用中所述数据源的情况下,根据所述对接包实现和所述持久化数据库的对接。4.根据权利要求1所述的方法,其特征在于,所述对接包与所述接口调用系统为插拔式连接。5.根据权利要求1所述的方法,其特征在于,所述数据源的流控规则包括以下所述的任意一种或多种:API类型、API名称、针对请求属性,其中针对请求属性包括:阈值类型、QPS阈值、间隔、流控方式以及Burst长度。6.根据权利要求1所述的方法,其特征在于,所述流控规则以下所述的任意一种或多种:资源名、熔断策略、最...

【专利技术属性】
技术研发人员:黄海飞陈凌云李宁胡万里朱建华
申请(专利权)人:德邦证券股份有限公司
类型:发明
国别省市:

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

1