可自愈的API网关实现方法及系统技术方案

技术编号:38615737 阅读:15 留言:0更新日期:2023-08-26 23:43
本发明专利技术公开了可自愈的API网关实现方法及系统,属于数据通信技术领域,要解决的技术问题为如何实现网关自愈修复,保证外部正常调用。包括如下步骤:获取网关检测周期表,判断网关是否在网关检测周期表指定的检测周期内,如果是,对网关执行健康检测,并判断得到检测结果是否正常;如果每次检测结果均为正常,将检测结果存储到数据库中,如果检测结果存在异常,将检测结果存储到数据库中,并对网关启动自愈操作;通过自愈操作降级或者下线导致网关异常的API服务,重启网关,并通过告警操作向网关负责人发送告警信息,在网关重启过程中,若服务器高负荷导致网关重启失败,网关采取延迟启动的方式并进行多次尝试重启。启动的方式并进行多次尝试重启。启动的方式并进行多次尝试重启。

【技术实现步骤摘要】
可自愈的API网关实现方法及系统


[0001]本专利技术涉及数据通信
,具体地说是可自愈的API网关实现方法及系统。

技术介绍

[0002]随着烟草信息系统架构向“微服务”+“大中台”不断演进,构建高效可靠的微服务管理技术中台,已经被业界所广泛认知。技术中台为微服务提供通用基础能力支撑,让业务应用能够更专注于自己的业务逻辑,减少对于通用基础能力的耗时。技术中台普遍提供了API网关接入功能,能够有效屏蔽微服务内部细节,通过统一入口达到简化用户访问微服务内部API能力。虽然API网关简化了用户消费API复杂度,但是当API网关自身出现异常时,可能会导致系统崩溃或无法使用。
[0003]如何实现网关自愈修复,保证外部正常调用,是需要解决的技术问题。

技术实现思路

[0004]本专利技术的技术任务是针对以上不足,提供可自愈的API网关实现方法及系统,来解决如何实现网关自愈修复,保证外部正常调用的技术问题。
[0005]第一方面,本专利技术一种可自愈的API网关实现方法,包括如下步骤:
[0006]获取网关检测周期表,判断网关是否在网关检测周期表指定的检测周期内;如网关处于网关检测周期表指定的检测周期内,对网关执行健康检测,并将检测结果记录到数据库中;
[0007]如果每次检测结果均为正常,将检测结果存储到数据库中,如果检测结果存在异常,对网关启动自愈操作,通过自愈操作降级或者下线导致网关异常的API服务,重启网关,并通过告警操作向网关负责人发送告警信息,在网关重启过程中,若服务器高负荷导致网关重启失败,网关采取延迟启动的方式并进行多次尝试重启。
[0008]作为优选,检测周期为网关每次检测间隔的时间周期;
[0009]如果网关在网关检测周期表指定的检测周期内,基于检测周期,周期性的对网关执行健康检测。
[0010]作为优选,对网关执行健康检测时,对网关的检测指标进行检测,检测指标包括网关的CPU占用率、内存使流用率、磁盘IO利用率、网络量负载、线程数、以及线程持有时间。
[0011]作为优选,对于降级或下线的服务,记录降级或下线的时间;
[0012]对于自愈重启的网关,记录最后一次的故障时间和恢复时间;
[0013]当网关重启超过最大启动次数,通过告警操作通知网关负责人进行人工干预。
[0014]作为优选,告警信息以电话、短信、邮件、微信和/或钉钉的方式通知网关负责人。
[0015]第二方面,本专利技术一种可自愈的API网关实现系统,用于执行如第一方面任一项所述的可自愈的API网关实现方法实现网关自愈,所述系统包括检测模块、自愈模块和告警模块;
[0016]所述检测模块用于执行如下:获取网关检测周期表,判断网关是否在网关检测周
期表指定的检测周期内,如网关处于网关检测周期表指定的检测周期内,对网关执行健康检测,如果每次检测结果均为正常,将检测结果存储到数据库中,如果检测结果存在异常,调用自愈模块;
[0017]所述自愈模块用于执行如下:对网关启动自愈操作,通过自愈操作降级或者下线导致网关异常的API服务,重启网关,并调用告警模块,所述告警模块用于通过告警操作向网关负责人发送告警信息;
[0018]在网关重启过程中,若服务器高负荷导致网关重启失败,所述自愈模块用于调控网关采取延迟启动的方式并进行多次尝试重启。
[0019]作为优选,检测周期为网关每次检测间隔的时间周期;
[0020]如果网关在网关检测周期表指定的检测周期内,基于检测周期,所述检测模块用于周期性的对网关执行健康检测。
[0021]作为优选,对网关执行健康检测时,所述检测模块用于对网关的检测指标进行检测,检测指标包括网关的CPU占用率、内存使流用率、磁盘IO利用率、网络量负载、线程数、以及线程持有时间。
[0022]作为优选,自愈模模块用于执行如下:
[0023]对于降级或下线的服务,记录降级或下线的时间;
[0024]对于自愈重启的网关,记录最后一次的故障时间和恢复时间;
[0025]当网关重启超过最大启动次数,调用告警模块,告警模块用于通过告警操作通知网关负责人进行人工干预。
[0026]作为优选,所述告警模块用于将告警信息以电话、短信、邮件、微信和/或钉钉的方式通知网关负责人。
[0027]本专利技术的可自愈的API网关实现方法及系统具有以下优点:
[0028]1、基于检测周期对网关进行检测,提高了API网关的可用性和稳定性,减少了系统崩溃和服务不可用的风险;
[0029]2、在API网关在调用异常时,提供了自愈功能,可以自动检测和修复API服务异常问题,而无需人工干预,节省时间和成本;
[0030]3、提供有告警功能,在异常发生时,能够及时通知相关负责人,具有良好的推广应用价值。
附图说明
[0031]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032]下面结合附图对本专利技术进一步说明。
[0033]图1为实施例1一种可自愈的API网关实现方法的流程框图。
具体实施方式
[0034]下面结合附图和具体实施例对本专利技术作进一步说明,以使本领域的技术人员可以
更好地理解本专利技术并能予以实施,但所举实施例不作为对本专利技术的限定,在不冲突的情况下,本专利技术实施例以及实施例中的技术特征可以相互结合。
[0035]本专利技术实施例提供可自愈的API网关实现方法及系统,用于解决如何实现网关自愈修复,保证外部正常调用的技术问题。
[0036]实施例1:
[0037]本专利技术一种可自愈的API网关实现方法,包括如下步骤:
[0038]S100、获取网关检测周期表,判断网关是否在网关检测周期表指定的检测周期内,如果是,对网关执行健康检测,并判断得到检测结果是否正常;
[0039]如果每次检测结果均为正常,将检测结果存储到数据库中,如果检测结果存在异常,将检测结果存储到数据库中,并对网关启动自愈操作;
[0040]S200、通过自愈操作降级或者下线导致网关异常的API服务,重启网关,并通过告警操作向网关负责人发送告警信息,在网关重启过程中,若服务器高负荷导致网关重启失败,网关采取延迟启动的方式并进行多次尝试重启。
[0041]本实施例中,检测周期为网关每次检测间隔的时间周期,如果网关在网关检测周期表指定的检测周期内,基于检测周期,周期性的对网关执行健康检测。
[0042]对网关执行健康检测时,对网关的CPU占用率、内存使流用率、磁盘IO利用率、网络量负载、线程数、以及线程持有时间等检测指标进行检测。
[0043]对网关启动自愈操作时,执行如下:对于降级或下线的服务,记录降本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可自愈的API网关实现方法,其特征在于,包括如下步骤:获取网关检测周期表,判断网关是否在网关检测周期表指定的检测周期内,如果是,对网关执行健康检测,并判断得到检测结果是否正常;如果每次检测结果均为正常,将检测结果存储到数据库中,如果检测结果存在异常,将检测结果存储到数据库中,并对网关启动自愈操作;通过自愈操作降级或者下线导致网关异常的API服务,重启网关,并通过告警操作向网关负责人发送告警信息,在网关重启过程中,若服务器高负荷导致网关重启失败,网关采取延迟启动的方式并进行多次尝试重启。2.根据权利要求1所述的可自愈的API网关实现方法,其特征在于,检测周期为网关每次检测间隔的时间周期;如果网关在网关检测周期表指定的检测周期内,基于检测周期,周期性的对网关执行健康检测。3.根据权利要求1或2所述的可自愈的API网关实现方法,其特征在于,对网关执行健康检测时,对网关的检测指标进行检测,检测指标包括网关的CPU占用率、内存使流用率、磁盘IO利用率、网络量负载、线程数、以及线程持有时间。4.根据权利要求3所述的可自愈的API网关实现方法,其特征在于,对网关启动自愈操作时,执行如下:对于降级或下线的服务,记录降级或下线的时间;对于自愈重启的网关,记录最后一次的故障时间和恢复时间;当网关重启超过最大启动次数,通过告警操作通知网关负责人进行人工干预。5.根据权利要求4所述的可自愈的API网关实现方法,其特征在于,告警信息以电话、短信、邮件、微信和/或钉钉的方式通知网关负责人。6.一种可自愈的API网关实现系统,其特征在于,用于执行如权利要求1

5任一项所述的可自愈的API网关实现方法实现网关自愈,所述系统包括检测模...

【专利技术属性】
技术研发人员:张世成林大伟孙振王洁
申请(专利权)人:山东浪潮数字商业科技有限公司
类型:发明
国别省市:

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

1