一种微服务的故障恢复方法、装置、电子设备及介质制造方法及图纸

技术编号:32522309 阅读:23 留言:0更新日期:2022-03-05 11:12
本申请实施例提供了一种微服务的故障恢复方法、装置、电子设备及介质,涉及微服务技术领域。本申请实施例包括:采集微服务实例的性能参数,根据对微服务实例的性能参数的采集结果,判断微服务实例是否存在故障。若微服务实例存在故障,则将该故障作为待恢复故障,确定待恢复故障的故障类型,基于预设的故障类型与恢复方式的对应关系,确定待恢复故障对应的预设恢复方式,基于预设恢复方式对微服务实例进行故障恢复处理。可以降低整个微服务停止服务的可能性。的可能性。的可能性。

【技术实现步骤摘要】
一种微服务的故障恢复方法、装置、电子设备及介质


[0001]本申请涉及微服务
,特别是涉及一种微服务的故障恢复方法、装置、电子设备及介质。

技术介绍

[0002]在微服务架构中,为了满足微服务之间的接口调用和客户端对微服务的请求,微服务可以被云化部署,每个微服务有至少两个实例对外提供服务。
[0003]在相关技术中,如图1所示,微服务架构中包括zuul网关、注册中心和每个微服务对应的多个实例。每个微服务启动成功后,自动向注册中心登记,使得注册中心存储每个微服务的服务标识对应的实例列表,同一微服务的多个实例具有唯一的服务标识。zuul网关接收到对微服务的访问请求后,根据访问请求所请求访问的统一资源定位符(Uniform Resource Locator,URL)确定服务标识,然后向注册中心提供该服务标识,进而注册中心为网关提供该服务标识对应的实例列表,也就是访问请求所请求访问的微服务对应的实例列表,图1中示例性地示出了实例1、实例2和实例3。zuul网关可以通过预设的负载均衡策略,选择用于处理该访问请求的实例,并将该访问请求发送至选择的实例。
[0004]然而,由于微服务架构中云化部署的实例数量众多,而硬件平台的资源有限,所以每个实例被分配的资源有限,会导致实例的故障率较高。当某一实例故障后,zuul网关将重新通过负载均衡策略为该故障实例所处理的访问请求选择其他的实例。当故障实例过多时,对于同一个微服务的访问请求将被集中转移到同一实例处理,导致该实例超载运行,长时间的超载运行也会导致该实例出现故障,最终使得整个微服务停止服务,该微服务对应的业务中断。

技术实现思路

[0005]本申请实施例的目的在于提供一种微服务的故障恢复方法、装置、电子设备及介质,以降低整个微服务停止服务的可能性。具体技术方案如下:
[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]若所述预设操作方式为手动操作,则输出第二故障提醒消息,所述第二故障提醒消息用于提醒用户根据所述故障原因进行故障恢复;
[0039]若所述预设操作方式为自动操作,则执行基于预设的故障类型与恢复方式的对应关系,确定所述待恢复故障对应的预设恢复方式的步骤。
[0040]第二方面,本申请实施例提供一种微服务的故障恢复装置,包括:
[0041]采集模块,用于采集微服务实例的性能参数;
[0042]判断模本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微服务的故障恢复方法,其特征在于,包括:采集微服务实例的性能参数;根据对所述微服务实例的性能参数的采集结果,判断所述微服务实例是否存在故障;若所述微服务实例存在故障,则将该故障作为待恢复故障,确定所述待恢复故障的故障类型;基于预设的故障类型与恢复方式的对应关系,确定所述待恢复故障对应的预设恢复方式;基于所述预设恢复方式对所述微服务实例进行故障恢复处理。2.根据权利要求1所述的方法,其特征在于,所述根据对所述微服务实例的性能参数采集结果,判断所述微服务实例是否存在故障,包括:若采集到的所述微服务实例的性能参数满足预设告警条件,则生成所述微服务实例的第一类告警事件,其中,所述第一类告警事件的告警类型属于性能参数超载类型;或者若连续第一预设次数未采集到所述微服务实例的性能参数,则生成所述微服务实例的第二类告警事件,其中,所述第二类告警事件的告警类型为宕机类型;对所述第一类告警事件或所述第二类告警事件进行故障分析,判断所述微服务实例是否存在故障。3.根据权利要求2所述的方法,其特征在于,若采集到的所述微服务实例的性能参数满足预设告警条件,则生成所述微服务实例的第一类告警事件,包括:针对所述微服务实例的每项性能参数,根据预设的各告警级别与告警区间之间的对应关系,确定该性能参数所属的告警区间对应的告警级别;若该性能参数对应的告警级别大于等于第一预设级别,且已连续第二预设次数确定该性能参数对应于相同的告警级别,则生成所述微服务实例的第一类告警事件。4.根据权利要求2所述的方法,其特征在于,对所述第一类告警事件或所述第二类告警事件进行故障分析,判断所述微服务实例是否存在故障,包括:对已生成的告警事件进行监听,若监听到所述第一类告警事件,则获取所述第一类告警事件包括的告警源、告警类型和告警级别;若监听到所述第二类告警事件,则获取所述第二类告警事件包括的告警源、告警类型和告警级别,所述告警源为发生告警事件的微服务实例的标识;根据所述第一类告警事件或所述第二类告警事件包括的告警源、告警类型和告警级别生成待定故障编号;若从预设的故障知识库中查找到与所述待定故障编号相同的故障编号,则根据查找到的所述故障编号确定所述微服务实例存在故障。5.根据权利要求2-4任一项所述的方法,其特征在于,所述确定所述待恢复故障的故障类型,包括:将所述待恢复故障对应的告警事件的告警类型确定为所述待恢复故障的故障类型;所述基于预设的故障类型与恢复方式的对应关系,确定所述待恢复故障对应的恢复方式,包括:若所述待恢复故障的故障类型属于性能参数超载类型,则确定所述待恢复故障对应的恢复方式为服务熔断;
若所述待恢复故障的故障类型为宕机类型,则确定所述待恢复故障对应的恢复方式为重启。6.根据权利要求5所述的方法,其特征在于,在基于所述预设恢复方式对所述微服务实例进行故障恢复处理之后,所述方法还包括:实时采集微服务实例的性能参数,并根据对所述微服务实例的性能参数的采集结果,判断所述微服务实例是否存在故障;若进行故障恢复处理的时长达到预设时长,且所述微服务实例仍存在故障,则确定故障恢复处理失败,并输出第一故障提醒消息,所述第一故障提醒消息用于提醒用户对所述待恢复故障进行处理。7.根据权利要求2所述的方法,其特征在于,在确定所述待恢复故障的故障类型之后,基于预设的故障类型与恢复方式的对应关系,确定所述待恢复故障对应的预设恢复方式之前,所述方法还包括:若所述待恢复故障的故障类型属于性能参数超载类型,则确定发生超载的性能项目对应的预设检测对象,所述预设检测对象为占用发生超载的性能项目的性能资源的对象;采集所述微服务实例中所述预设检测对象对发生超载的性能项目的资源占用参数;根据所述资源占用参数确定所述待恢复故障的故障原因;记录所述待恢复故障的故障原因。8.根据权利要求7所述的方法,其特征在于,在基于预设的故障类型与恢复方式的对应关系,确定所述待恢复故障对应的预设恢复方式之前,所述方法还包括:基于预设的故障类型与操作方式之间的对应关系,确定所述待恢复故障对应的预设操作方式;若所述预设操作方式为手动操作,则输出第二故障提醒消息,所述第二故障提醒消息用于提醒用户根据所述故障原因进行故障恢复;若所述预设操作方式为自动操作,则执行基于预设的故障类型与恢复方式的对应关系,确定所述待恢复故障对应的预设恢复方式的步骤。9.一种微服务的故障恢复装置,其特征在于,包括:采集模块,用于采集微服务实例的性能参数;判断模块,用于根据对所述微服务实例的性能参数的采集结果,判断所述微服务实例是否存在故障;确定模块,用于若所述判断模...

【专利技术属性】
技术研发人员:贺治国胡兵
申请(专利权)人:大唐移动通信设备有限公司
类型:发明
国别省市:

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

1