一种基于多机房的API故障切换方法及装置制造方法及图纸

技术编号:38377741 阅读:16 留言:0更新日期:2023-08-05 17:37
本发明专利技术公开了一种基于多机房的API故障切换方法及装置,涉及API故障切换技术领域,主要目的在于实现自动故障切换,快速恢复API服务,减少耗时较长的人工处理,可以保证达到99.99%甚至是99.999%的高可用。本发明专利技术主要的技术方案为:获取本机房API服务的监测数据,所述监测数据为预设时间内的预设错误请求数;基于所述本机房API服务的监测数据,利用预设故障规则监测所述本机房API服务是否出现故障;当监测到所述本机房API服务出现故障时,基于所述本机房API服务,利用预设切换规则从预设待切换机房API服务中获取符合切换条件的目标机房API服务;利用预设切换脚本将所述本机房API服务切换为所述目标机房API服务。本发明专利技术用于多机房。用于多机房。用于多机房。

【技术实现步骤摘要】
一种基于多机房的API故障切换方法及装置


[0001]本专利技术涉及API故障切换
,尤其涉及一种基于多机房的API故障切换方法及装置。

技术介绍

[0002]现在通过开放API(Application Program Interface,应用程序接口)提供软件服务,部分软件服务对稳定性要求较高,要求有99.99%甚至是99.999%的可用性,一年中只允许有52分钟甚至是5分钟的故障影响时间。为了到达上述要求,必须在API服务发生故障时,能够快速发现故障以及解决故障。
[0003]目前,处理上述问题的方法是机房多活和监控告警技术,该是指机房多活将API服务部署在多个机房中,当其中一个机房的API服务出现故障时,使其他机房的服务能够接替故障机房正常使用;该监控告警技术是指在搭建部署服务时,同样会搭建一套监控告警系统,作用是当服务出现故障时,监控告警系统及时发现故障,并发送告警给服务运维人员,服务运维人员在接收到告警后,登录操作系统执行切换脚本,完成故障切换的操作。具体过程是:当其中一个机房的API服务出现故障时,监控告警系统发送告警给服务运维人员,服务运维人员登录操作系统执行脚本文件,修改API网关中记录的API服务信息,将URL地址为另外一个机房API服务的URL地址,实现故障切换的效果。
[0004]但是,上述处理方法虽然可以实现故障切换,减少人工排查故障时,耗时上的不可控对服务可用性造成的影响。但是,无法达到99.99%甚至是99.999%的高可用,原因为完成故障切换完全由人工操作,同样也存在排查故障耗时不可控的问题。例如,当服务运维人员不在工作状态时,收到告警发现故障,需要登录操作系统执行切换脚本,由于服务运维人员并不能24*7小时在电脑前工作,而且服务运维人员也需要根据告警以及多机房的状态,花费时间判断是否需要故障切换,因此执行切换脚本的时间同样不可控。

技术实现思路

[0005]鉴于上述问题,本专利技术提供一种基于多机房的API故障切换方法及装置,主要目的是为了实现自动故障切换,快速恢复API服务,减少耗时较长的人工处理。
[0006]为解决上述技术问题,本专利技术提出以下方案:
[0007]第一方面,本专利技术提供一种基于多机房的API故障切换方法,所述方法包括:
[0008]获取本机房API服务的监测数据,所述监测数据为预设时间内的预设错误请求数;
[0009]基于所述本机房API服务的监测数据,利用预设故障规则监测所述本机房API服务是否出现故障;
[0010]当监测到所述本机房API服务出现故障时,基于所述本机房API服务,利用预设切换规则从预设待切换机房API服务中获取符合切换条件的目标机房API服务;
[0011]利用预设切换脚本将所述本机房API服务切换为所述目标机房API服务。
[0012]第二方面,本专利技术提供一种基于多机房的API故障切换装置,所述装置包括:
[0013]第一获取单元,用于获取本机房API服务的监测数据,所述监测数据为预设时间内的预设错误请求数;
[0014]监测单元,用于基于所述本机房API服务的监测数据,利用预设故障规则监测所述本机房API服务是否出现故障;
[0015]第二获取单元,用于当监测到所述本机房API服务出现故障时,基于所述本机房API服务,利用预设切换规则从预设待切换机房API服务中获取符合切换条件的目标机房API服务;
[0016]切换单元,用于利用预设切换脚本将所述本机房API服务切换为所述目标机房API服务。
[0017]为了实现上述目的,根据本专利技术的第三方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述第一方面所述基于多机房的API故障切换方法。
[0018]为了实现上述目的,根据本专利技术的第四方面,提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第二方面所述用于基于多机房的API故障切换装置的全部或部分步骤。
[0019]借由上述技术方案,本专利技术提供的基于多机房的API故障切换方法及装置,是由于目前的机房多活和监控告警技术虽然可以实现故障切换,减少人工排查故障时,耗时上的不可控对服务可用性造成的影响。但是,由于完成故障切换完全由人工操作,同样也存在排查故障耗时不可控的问题无法达到99.99%甚至是99.999%的高可用。为此,本专利技术通过获取本机房API服务的监测数据,所述监测数据为预设时间内的预设错误请求数;基于所述本机房API服务的监测数据,利用预设故障规则监测所述本机房API服务是否出现故障;当监测到所述本机房API服务出现故障时,基于所述本机房API服务,利用预设切换规则从预设待切换机房API服务中获取符合切换条件的目标机房API服务;利用预设切换脚本将所述本机房API服务切换为所述目标机房API服务。本专利技术实现自动故障切换,10秒内快速恢复API服务,减少耗时较长的人工处理,可以保证达到99.99%甚至是99.999%的高可用。
[0020]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
附图说明
[0021]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0022]图1示出了本专利技术实施例提供的一种基于多机房的API故障切换方法流程图;
[0023]图2示出了本专利技术实施例提供的另一种基于多机房的API故障切换方法流程图;
[0024]图3示出了本专利技术实施例提供的一种基于多机房的API故障切换装置的组成框图;
[0025]图4示出了本专利技术实施例提供的另一种基于多机房的API故障切换装置的组成框图。
具体实施方式
[0026]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0027]对于目前处理API服务出现故障的方法是机房多活和监控告警技术,当其中一个机房的API服务出现故障时,监控告警系统发送告警给服务运维人员,服务运维人员登录操作系统执行脚本文件,修改API网关中记录的API服务信息,将URL地址为另外一个机房API服务的URL地址,实现故障切换的效果。但是,上述处理方法虽然可以实现故障切换,减少人工排查故障时,耗时上的不可控对服务可用性造成的影响。但是,由于完成故障切换完全由人工操作,同样也存在排查故障耗时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多机房的API故障切换方法,其特征在于,所述方法包括:获取本机房API服务的监测数据,所述监测数据为预设时间内的预设错误请求数;基于所述本机房API服务的监测数据,利用预设故障规则监测所述本机房API服务是否出现故障;当监测到所述本机房API服务出现故障时,基于所述本机房API服务,利用预设切换规则从预设待切换机房API服务中获取符合切换条件的目标机房API服务;利用预设切换脚本将所述本机房API服务切换为所述目标机房API服务。2.根据权利要求1所述的方法,其特征在于,所述当监测到所述本机房API服务出现故障时,基于所述本机房API服务,利用预设切换规则从预设待切换机房API服务中获取符合切换条件的目标机房API服务,包括:根据预设顺序获取所述预设待切换机房API服务的网络状态信息和使用状态信息,所述使用状态信息包括未切换状态和已切换状态;基于所述预设待切换机房API服务的网络状态信息和使用状态信息判断所述预设待切换机房API服务是否符合切换条件;若是,则确定所述预设待切换机房为所述目标机房API服务;若否,则根据所述预设顺序获取下一个所述预设待切换机房API服务的网络状态信息和使用状态信息继续判断直至获取到符合切换条件的目标机房API服务为止。3.根据权利要求2所述的方法,其特征在于,所述基于所述预设待切换机房API服务的网络状态信息和使用状态信息判断所述预设待切换机房是否符合切换条件,包括:判断所述预设待切换机房API服务的网络状态信息是否触发预设切换黑名单规则;若所述预设待切换机房API服务的网络状态信息触发预设切换黑名单规则,则确定所述预设待切换机房API服务不符合切换条件;若所述预设待切换机房API服务的网络状态信息不触发预设切换黑名单规则,则判断所述预设待切换机房API服务的使用状态信息是否为切换状态;若所述预设待切换机房API服务的使用状态信息为切换状态,则确定所述预设待切换机房API服务不符合切换条件;若所述预设待切换机房API服务的使用状态信息不为切换状态,则确定所述预设待切换机房API服务符合切换条件。4.根据权利要求1所述的方法,其特征在于,所述监测数据是API网关转发到所述本机房API服务的预设错误请求数;所述预设错误请求数是所述预设探测时间周期内所述API网关转发到所述API服务耗时超过预设时间的请求数、所述预设探测时间周期内所述API网关请求所述API服务返回HTTP状态码500、502、503或者504的请求数和所述预设探测时间周期内所述API网关请求所述API服务连接超时的请...

【专利技术属性】
技术研发人员:王广浩陈贺巍
申请(专利权)人:百融至信北京科技有限公司
类型:发明
国别省市:

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

1