掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及计算机数据处理技术领域,尤其涉及一种微服务场景下全链路智能故障模拟及评估防御方法。

背景技术

随着分布式技术的发展与演进,微服务技术成为了大型分布式IT架构的必然选择。在微服务的技术的背景下,单个用户请求可能经过部署在多个主机的多个服务节点,形成复杂的调用链路,难以评估微服务节点故障带来的影响。现在主流的技术是通过字节码注入拦截服务方法获取节点的调用链路关系,但这种技术只适用于开发语言相同的微服务。也有直接对微服务组件开发定制修改进而生成调用链路的,这种技术方案的缺陷在于要对所有被监控微服务组件都要做定制化修改,侵入性强,成本比较高。在实际生产过程中,微服务开发技术栈需要是多种多样的,为了兼容这些异构的服务组件,限制了字节码注入技术和自定义适配方案的使用,即现有技术不能在兼容多种开发技术栈的前提下还能做到低成本无侵入的生成微服务调用链路。

在获取到了微服务调用链路之后,为了确认微服务节点故障实际带来的影响范围,需要能自动的模拟微服务节点故障并收集故障发生之后微服务系统的实际调用请求流向和响应时间,进而评估故障带来的影响范围,现有公开的链路监控系统没有自动模拟节点故障的能力,也就没有评估微服务节点故障带来的影响的能力。

综上,现有技术方案对异构服务组件组成的微服务业务系统中对于调用链路生成支持差,需要对微服务系统进行插桩改造才能监测获取微服务调用链路,接入成本高,侵入性强;对微服务节点故障影响范围不容易评估,需要手动对微服务节点进行操作模拟故障发生,手动关联故障模拟操作对应的监控数据才能统计获得节点故障对系统影响,评估微服务节点故障影响程度和范围的复杂度高;对于影响较大的故障,需要手动执行降级操作才能进行服务降级,繁琐且不及时。

发明内容

(一)发明目的

为解决背景技术中存在的技术问题,本发明提出一种微服务场景下全链路智能故障模拟及评估防御方法。

(二)技术方案

为解决上述问题,本发明提出了一种微服务场景下全链路智能故障模拟及评估防御方法,包括以下步骤:

S1:通过sidecar代理无侵入的封装异构微服务组件,屏蔽不同技术栈带来的差异;

S2:通过拦截流经sidecar代理的数据流量,生成服务的调用链路拓扑,获得微服务调用的监控数据;

S3:根据调用链路拓扑,自动生成故障模拟测试用例,以对调用链路拓扑中涉及到微服务节点进行测试;

S4:自动执行生成故障模拟测试用例,监控模拟故障时,微服务系统的负载和响应时间,精准的测量任意微服务节点故障对整个微服务系统的影响;

S5:根据测量得到的任意微服务节点故障影响范围的统计结果,通过图表显示出来,用于评估系统的容错能力和故障影响范围;

S6:当故障满足预设的触发条件时,自动拦截发往预设的微服务节点的请求返回预设的返回值,实现服务降级。

优选的,在S3中,被模拟的故障包括微服务节点宕机、请求处理时间长、响应超时和请求错误。

本发明中,无侵入的支持多种技术栈的微服务组件,生成调用拓扑和调用的监控数据。自动模拟任意微服务节点故障的场景,测试故障的实际影响。同时能够根据预置调节触发服务降级,限制故障影响范围。

本发明,通过监控微服务节点的网络流量流向,进而根据网络流量流向生成微服务的链路调用拓扑,并根据拓扑中涉及到的微服务节点,自动的生成微服务节点故障模拟用例;根据需要选择性的执行后,自动统计模拟故障之时各微服务节点的负载情况,根据统计结果评估系统的容错能力和故障影响范围,对于影响较大的服务节点故障,能自动触发服务降级,限制故障影响范围,避免系统发生雪崩式的故障。

附图说明

图1为本发明提出的微服务场景下全链路智能故障模拟及评估防御方法的流程示意图。

图2为本发明提出的微服务场景下全链路智能故障模拟及评估防御方法中的部分示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

如图1-2所示,本发明提出的一种微服务场景下全链路智能故障模拟及评估防御方法,包括以下步骤:

S1:通过sidecar代理无侵入的封装异构微服务组件,屏蔽不同技术栈带来的差异;

S2:通过拦截流经sidecar代理的数据流量,生成服务的调用链路拓扑,获得微服务调用的监控数据;

S3:根据调用链路拓扑,自动生成故障模拟测试用例,以对调用链路拓扑中涉及到微服务节点进行测试;

S4:自动执行生成故障模拟测试用例,监控模拟故障时,微服务系统的负载和响应时间,精准的测量任意微服务节点故障对整个微服务系统的影响;

S5:根据测量得到的任意微服务节点故障影响范围的统计结果,通过图表显示出来,用于评估系统的容错能力和故障影响范围;

S6:当故障满足预设的触发条件时,自动拦截发往预设的微服务节点的请求返回预设的返回值,实现服务降级。

在一个可选的实施例中,在S3中,被模拟的故障包括微服务节点宕机、请求处理时间长、响应超时和请求错误。

本发明中,无侵入的支持多种技术栈的微服务组件,生成调用拓扑和调用的监控数据。自动模拟任意微服务节点故障的场景,测试故障的实际影响。同时能够根据预置调节触发服务降级,限制故障影响范围。

本发明,通过监控微服务节点的网络流量流向,进而根据网络流量流向生成微服务的链路调用拓扑,并根据拓扑中涉及到的微服务节点,自动的生成微服务节点故障模拟用例;根据需要选择性的执行后,自动统计模拟故障之时各微服务节点的负载情况,根据统计结果评估系统的容错能力和故障影响范围,对于影响较大的服务节点故障,能自动触发服务降级,限制故障影响范围,避免系统发生雪崩式的故障。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

相关技术
  • 一种微服务场景下全链路智能故障模拟及评估防御方法
  • 一种微服务场景下全链路智能故障模拟及评估防御方法
技术分类

06120112452615