本发明专利技术公开一种基于API网关的健康检查实现方法及装置,其中,该方法包括:在API网关中新增服务,将节点配置到服务中;在API网关中配置服务的健康检查参数;API网关对服务中的节点进行存活性检查和功能性检查,同时自动计算探测间隔时间;API网关监控服务中的节点的健康检查状态,自动将流量转发到健康的节点。该方法及装置通过存活性检查和功能性检查对节点的健康状态进行探测,同时自动计算探测间隔时间,减少了不必要的探测次数,提高了网络性能。能。能。
【技术实现步骤摘要】
一种基于API网关的健康检查实现方法及装置
[0001]本专利技术涉及通信
,尤其是一种基于API网关(ApplicationProgrammingInterfaceGateway)的健康检查实现方法及装置。
技术介绍
[0002]API网关是API的入口,为客户端提供定制的API访问接口。随着微服务以及云原生相关技术的发展,服务的粒度越来越细,后端服务聚焦于自身的业务功能,各个服务通过API网关对外暴露接口。作为一个服务入口,API网关需要获取服务的健康状态,避免后端服务异常影响前端业务,从而提高业务整体可用性。
[0003]当前健康检查方案主要是通过定时发送TCP或者HTTP的方式对节点状态进行探测。但是探测间隔过短,会影响网络性能;探测间隔过长,不利于快速恢复业务。随着业务规模的不断上升,如果达到成千上万的服务接入规模,健康检查对网络性能会产生很大的影响。如何提高健康检查的效率成为一个亟待解决的问题。
技术实现思路
[0004]针对上述情况,本专利技术提供一种基于API网关的健康检查实现方法及装置,通过存活性检查和功能性检查对节点健康状态进行探测,同时自动计算探测间隔时间,减少了不必要的探测次数,提高了网络性能。
[0005]为实现上述目的,本专利技术采用下述技术方案:
[0006]在本专利技术一实施例中,提出了一种基于API网关的健康检查实现方法,该方法包括:
[0007]在API网关中新增服务,将节点配置到服务中;
[0008]在API网关中配置服务的健康检查参数;
[0009]API网关对服务中的节点进行存活性检查和功能性检查,同时自动计算探测间隔时间;
[0010]API网关监控服务中的节点的健康检查状态,自动将流量转发到健康的节点。
[0011]进一步地,服务是一类API的抽象,可以配置多个节点。
[0012]进一步地,API网关对服务中的节点进行存活性检查和功能性检查,同时自动计算探测间隔时间,包括:
[0013]服务开启健康检查之后,服务中的节点的默认健康检查状态为不可用,API网关自动对服务中的节点进行存活性检查;
[0014]若探测次数达到阈值,服务中的节点的健康检查状态没有变化,则将探测间隔时间翻倍,依次类推,直至达到最大间隔时间;
[0015]若服务中的节点的健康检查状态有变化,则将探测间隔时间恢复到初始探测间隔时间;
[0016]若探测次数达到阈值,服务中的节点的健康检查状态有变化,则修改服务中的节
点的健康检查状态;
[0017]若存活性检查成功次数达到健康阈值,则将服务中的节点的健康检查状态修改为可用,API网关开始对服务中的节点进行功能性检查;
[0018]若存活性检查失败次数达到不健康阈值,则将服务中的节点的健康检查状态修改为不健康,并增加探测间隔时间;
[0019]若功能性检查时,TCP连接失败次数达到不健康阈值,则将服务中的节点的健康检查状态修改为不可用,API网关停止对服务中的节点进行功能性检查,重新对服务中的节点进行存活性检查;
[0020]若功能性检查成功次数达到健康阈值,则将服务中的节点的健康检查状态修改为健康;
[0021]若功能性检查失败次数达到不健康阈值,则将服务中的节点的健康检查状态修改为不健康,并增加探测间隔时间。
[0022]进一步地,存活性检查是API网关根据服务中的节点的IP地址和端口进行TCP探测;
[0023]功能性检查是API网关根据服务中的节点的IP地址、端口和请求路径进行HTTP或者HTTPS探测。
[0024]在本专利技术一实施例中,还提出了一种基于API网关的健康检查实现装置,该装置包括:
[0025]配置模块,用于在API网关中新增服务,将节点配置到服务中,配置服务的健康检查参数;
[0026]API网关,用于对服务中的节点进行存活性检查和功能性检查,同时自动计算探测间隔时间;监控服务中的节点的健康检查状态,自动将流量转发到健康的节点。
[0027]进一步地,服务是一类API的抽象,可以配置多个节点。
[0028]进一步地,API网关对服务中的节点进行存活性检查和功能性检查,同时自动计算探测间隔时间,包括:
[0029]服务开启健康检查之后,服务中的节点的默认健康检查状态为不可用,API网关自动对服务中的节点进行存活性检查;
[0030]若探测次数达到阈值,服务中的节点的健康检查状态没有变化,则将探测间隔时间翻倍,依次类推,直至达到最大间隔时间;
[0031]若服务中的节点的健康检查状态有变化,则将探测间隔时间恢复到初始探测间隔时间;
[0032]若探测次数达到阈值,服务中的节点的健康检查状态有变化,则修改服务中的节点的健康检查状态;
[0033]若存活性检查成功次数达到健康阈值,则将服务中的节点的健康检查状态修改为可用,API网关开始对服务中的节点进行功能性检查;
[0034]若存活性检查失败次数达到不健康阈值,则将服务中的节点的健康检查状态修改为不健康,并增加探测间隔时间;
[0035]若功能性检查时,TCP连接失败次数达到不健康阈值,则将服务中的节点的健康检查状态修改为不可用,API网关停止对服务中的节点进行功能性检查,重新对服务中的节点
进行存活性检查;
[0036]若功能性检查成功次数达到健康阈值,则将服务中的节点的健康检查状态修改为健康;
[0037]若功能性检查失败次数达到不健康阈值,则将服务中的节点的健康检查状态修改为不健康,并增加探测间隔时间。
[0038]进一步地,存活性检查是API网关根据服务中的节点的IP地址和端口进行TCP探测;
[0039]功能性检查是API网关根据服务中的节点的IP地址、端口和请求路径进行HTTP或者HTTPS探测。
[0040]在本专利技术一实施例中,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现前述基于API网关的健康检查实现。
[0041]在本专利技术一实施例中,还提出了一种计算机可读存储介质,计算机可读存储介质存储有执行基于API网关的健康检查实现计算机程序。
[0042]有益效果:
[0043]1、本专利技术减少了不必要的探测次数,提高了网络性能。
[0044]2、本专利技术分层次进行健康检查,提高了健康检查效率。
附图说明
[0045]图1是本专利技术基于API网关的健康检查实现方法流程示意图;
[0046]图2是本专利技术服务中的节点的健康检查状态变更图;
[0047]图3是本专利技术服务中的节点的健康检查流程示意图;
[0048]图4是本专利技术一实施例的基于API网关的健康检查实现架构图;
[0049]图5是本专利技术基于API网关的健康检查实现装置结构示意图;
[0050]图本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于API网关的健康检查实现方法,其特征在于,该方法包括:在API网关中新增服务,将节点配置到服务中;在API网关中配置服务的健康检查参数;API网关对服务中的节点进行存活性检查和功能性检查,同时自动计算探测间隔时间;API网关监控服务中的节点的健康检查状态,自动将流量转发到健康的节点。2.根据权利要求1所述的基于API网关的健康检查实现方法,其特征在于,所述服务是一类API的抽象,可以配置多个节点。3.根据权利要求1所述的基于API网关的健康检查实现方法,其特征在于,API网关对服务中的节点进行存活性检查和功能性检查,同时自动计算探测间隔时间,包括:服务开启健康检查之后,服务中的节点的默认健康检查状态为不可用,API网关自动对服务中的节点进行存活性检查;若探测次数达到阈值,服务中的节点的健康检查状态没有变化,则将探测间隔时间翻倍,依次类推,直至达到最大间隔时间;若服务中的节点的健康检查状态有变化,则将探测间隔时间恢复到初始探测间隔时间;若探测次数达到阈值,服务中的节点的健康检查状态有变化,则修改服务中的节点的健康检查状态;若存活性检查成功次数达到健康阈值,则将服务中的节点的健康检查状态修改为可用,API网关开始对服务中的节点进行功能性检查;若存活性检查失败次数达到不健康阈值,则将服务中的节点的健康检查状态修改为不健康,并增加探测间隔时间;若功能性检查时,TCP连接失败次数达到不健康阈值,则将服务中的节点的健康检查状态修改为不可用,API网关停止对服务中的节点进行功能性检查,重新对服务中的节点进行存活性检查;若功能性检查成功次数达到健康阈值,则将服务中的节点的健康检查状态修改为健康;若功能性检查失败次数达到不健康阈值,则将服务中的节点的健康检查状态修改为不健康,并增加探测间隔时间。4.根据权利要求1或3所述的基于API网关的健康检查实现方法,其特征在于,所述存活性检查是API网关根据服务中的节点的IP地址和端口进行TCP探测;所述功能性检查是API网关根据服务中的节点的IP地址、端口和请求路径进行HTTP或者HTTPS探测。5.一种基于API网关的健康检查实现装置,其特征在于,该装置包括:配置模块,用于在API网关中新增服务,将节点配置到服务中,配置服务的健康检查参数;API网关,用于对服务中的节点...
【专利技术属性】
技术研发人员:宋飞虎,
申请(专利权)人:中盈优创资讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。