CN113360361A - 一种分布式运维模拟系统的构建方法、装置及设备 - Google Patents

一种分布式运维模拟系统的构建方法、装置及设备 Download PDF

Info

Publication number
CN113360361A
CN113360361A CN202110915807.8A CN202110915807A CN113360361A CN 113360361 A CN113360361 A CN 113360361A CN 202110915807 A CN202110915807 A CN 202110915807A CN 113360361 A CN113360361 A CN 113360361A
Authority
CN
China
Prior art keywords
constructing
microservice
service
simulation system
micro
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110915807.8A
Other languages
English (en)
Other versions
CN113360361B (zh
Inventor
白朋
李美伦
严川
张博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cloudwise Beijing Technology Co Ltd
Original Assignee
Cloudwise Beijing Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cloudwise Beijing Technology Co Ltd filed Critical Cloudwise Beijing Technology Co Ltd
Priority to CN202110915807.8A priority Critical patent/CN113360361B/zh
Publication of CN113360361A publication Critical patent/CN113360361A/zh
Application granted granted Critical
Publication of CN113360361B publication Critical patent/CN113360361B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing

Abstract

本发明公开了一种分布式运维模拟系统的构建方法、装置及设备,方法包括:获得业务场景的至少一个微服务;构建所述至少一个微服务之间的拓扑关系;根据所述拓扑关系,对所述至少一个微服务的调用链进行追踪,得到调用链记录;对所述至少一个微服务进行故障注入,获得异常类型;根据所述拓扑关系、调用链记录以及所述异常类型形成分布式运维模拟系统。通过上述方式,本发明的方案可以有效地对分布式运维系统全方位模拟。

Description

一种分布式运维模拟系统的构建方法、装置及设备
技术领域
本发明涉及运维系统的构建技术领域,特别是指一种分布式运维模拟系统的构建方法、装置及设备。
背景技术
随着分布式技术的发展,越来越多的行业采用分布式技术来构建系统,由于其具有灵活的体系结构、系统的可靠性高、可用性好、可扩展性好,易于集成现有系统、经济性能优越等优点,从而满足性能要求越来越高的系统要求。而在分布式技术带来诸多如上优点的同时,也带来了许多不便,比如软件少、网络问题多、安全性以及故障排查等问题。
在智能运维行业中,为了能够准确获取分布式系统各种故障的表现就需要数据集的支撑,从真实的生产系统中获取各种故障数据以及故障标签是一个非常难得问题,因为很多系统在设计之初并没有记录或者整理各种故障的功能,就算有故障数据的记录,整理这些数据也需要耗费大量的人力,这给系统故障检测和定位造成很大的困难。
目前分布式系统主要由java编程语言搭建,如springcloud,springboot,整体学习代价较大,能同时记录系统各个方面数据(如系统基础指标、日志、调用链)的实现难度较大。且随着人工智能的兴起,智能运维逐步替代传统的人工运维,同时python编程语言逐步占据领导地位,越来越多的运维人员使用python语言,因此使用python实现模拟系统搭建的需求越来越多。
而目前用python搭建的分布式模拟系统普遍存在以下几个问题:1、大多数都是为了解决特定目的而搭建的一个简单的系统,不具迁移性;2、采用的python版本较老,兼容性较差;3、可扩展性较差,大部分都是采用传统的结构构件系统,使得系统几乎不具扩展性;4、数据记录单一,只能记录单一的某种类型的数据;5、故障模拟单一,很难从系统各个方面去模拟系统的异常表现,使得与实际情况差异较大,违背模拟系统构建的目的;6、系统部署资源浪费问题,模拟系统部署需要各个服务之间互不干扰,因此需要大量的服务器硬件资源支持,同时为了系统真实性,减少其他噪声干扰,服务器不能进行其他服务,导致资源的浪费。以上这些问题导致很难有效的去解决对分布式运维系统全方位模拟。
发明内容
本发明要解决的技术问题是如何提供一种分布式运维模拟系统的构建方法、装置及设备。解决现有技术中的分布式运维模拟系统无法准确反映真实系统的问题。
为解决上述技术问题,本发明的技术方案如下:
一种分布式运维模拟系统的构建方法,包括:
获得业务场景的至少一个微服务;
构建所述至少一个微服务之间的拓扑关系;
根据所述拓扑关系,对所述至少一个微服务的调用链进行追踪,得到调用链记录;
对所述至少一个微服务进行故障注入,获得异常类型;
根据所述拓扑关系、调用链记录以及所述异常类型形成分布式运维模拟系统。
可选的,构建所述至少一个微服务之间的拓扑关系,包括:
对所述至少一个微服务的每个微服务,形成一个服务节点;
采用轻量开发框架,为至少一个服务节点构建路由,形成所述至少一个微服务之间的拓扑关系。
可选的,根据所述拓扑关系,对所述至少一个微服务的调用链进行追踪,得到调用链记录,包括:
根据所述拓扑关系,通过开放追踪工具对所述至少一个微服务的调用链进行追踪,得到调用链记录,所述调用链记录包括微服务之间的响应时长、网络请求详情信息和请求状态信息中的至少一项。
可选的,对所述至少一个微服务进行故障注入,获得异常类型,包括:
对所述至少一个微服务采用故障注入工具进行故障注入,获得各微服务器在故障注入后的异常类型,并记录所述异常类型。
可选的,分布式运维模拟系统的构建方法,构建所述至少一个微服务之间的拓扑关系,包括:
通过中间件对所述微服务进行注册和发现,构建所述至少一个微服务之间的拓扑关系;
当需要增加一个新的微服务时,通过中间件对所述新的微服务进行注册和发现,将所述新的微服务加入所述拓扑关系。
可选的,分布式运维模拟系统的构建方法,还包括:
采集所述微服务的日志信息、基础指标信息以及调用链信息中至少一项;
通过数据存储管理工具,将所述微服务的日志信息、基础指标信息以及调用链信息中的至少一项,存储到预设数据库中。
可选的,分布式运维模拟系统的构建方法,还包括:
根据所述至少一个微服务的服务类型,配置资源分配策略;
根据所述资源分配策略,对所述至少一个微服务进行资源分配。
本发明的实施例还提供一种分布式运维模拟系统的构建装置,所述装置包括:
获取模块,用于获得业务场景的至少一个微服务;
处理模块,根据构建所述至少一个微服务之间的拓扑关系;根据所述拓扑关系,对所述至少一个微服务的调用链进行追踪,得到调用链记录;
对所述至少一个微服务进行故障注入,获得异常类型;根据所述拓扑关系、调用链记录以及所述异常类型形成分布式运维模拟系统。
本发明的实施例还提供一种电子设备,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如上所述的分布式运维模拟系统的构建方法。
本发明的实施例还提供一种计算机可读存储介质,存储指令,当所述指令在计算机上运行时,使得计算机执行如上所述的分布式运维模拟系统的构建方法。
本发明的上述方案至少包括以下有益效果:
本发明的上述实施例通过获得业务场景的至少一个微服务;构建所述至少一个微服务之间的拓扑关系;根据所述拓扑关系,对所述至少一个微服务的调用链进行追踪,得到调用链记录;对所述至少一个微服务进行故障注入,获得异常类型;根据所述拓扑关系、调用链记录以及所述异常类型形成分布式运维模拟系统。能够根据不同的业务场景增加系统架构,并复用已开发的微服务,减少开发量,而不影响原有系统功能。且系统主动模拟注入各种异常,包括系统指标的异常、系统业务的异常以及调用链上的异常,且各种异常注入均已模块化,并且方便扩展和注入系统,有利于后续人员对系统运维结果进行对比。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明实施例的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明实施例的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的分布式运维模拟系统的构建方法流程图;
图2示出了本发明实施例提供的分布式运维模拟系统的构建方法中微服务的一种拓扑关系示意图;
图3示出了本发明实施例提供的分布式运维模拟系统的构建装置的结构示意图;
图4示出了本发明实施例提供的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,本发明的实施例提供一种分布式运维模拟系统的构建方法,包括:
步骤11,获得业务场景的至少一个微服务;
步骤12,构建所述至少一个微服务之间的拓扑关系;
步骤13,根据所述拓扑关系,对所述至少一个微服务的调用链进行追踪,得到调用链记录;
步骤14,对所述至少一个微服务进行故障注入,获得异常类型;
步骤15,根据所述拓扑关系、调用链记录以及所述异常类型形成分布式运维模拟系统。
该实施例中,首先,调研一个真实的业务场景,基于此业务场景,构建业务场景所涉及的微服务以及拓扑关系,将其各个微服务模块化,这里的微服务(MicroservicesArchitecture)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。微服务是指开发一个单个小型的但有业务功能的服务,每个微服务都有自己的处理和轻量通讯机制,可以部署在单个或多个服务器上。微服务也指一种松耦合的、有一定的有界上下文的面向服务架构。也就是说,如果每个服务都要同时修改,那么它们就不是微服务,因为它们紧耦合在一起;如果你需要掌握一个服务太多的上下文场景使用条件,那么它就是一个有上下文边界的服务。
本发明的该实施例,能够根据不同的业务场景增加系统架构,并复用已开发的微服务,减少开发量,而不影响原有系统功能。且系统主动模拟注入各种异常,包括系统指标的异常、系统业务的异常以及调用链上的异常,且各种异常注入均已模块化,并且方便扩展和注入系统,有利于后续人员对系统运维结果进行对比。
本发明的一可选的实施例中,步骤12可以包括:
步骤121,对所述至少一个微服务的每个微服务,形成一个服务节点;
步骤122,采用轻量开发框架,为至少一个服务节点构建路由,形成所述至少一个微服务之间的拓扑关系。
本发明的该实施例中,在构建好了微服务之间的拓扑关系后,对每个微服务,采用flaskweb(轻量开发框架)构建路由,实现各个微服务的功能。
本发明的一可选的实施例中,步骤13可以包括:
步骤131,根据所述拓扑关系,通过开放追踪工具对所述至少一个微服务的调用链进行追踪,得到调用链记录,所述调用链记录包括微服务之间的响应时长、网络请求详情信息和请求状态信息中的至少一项。
本发明的该实施例中,对每个服务节点,引入opentracing(开放追踪)工具,做到请求的全链路追踪,且对于每一个微服务,做到调用链的全方位记录,包括响应时常、网络请求详情、请求状态等信息。
如图2所示,为通过系统记录的调用链数据洗出的某请求的拓扑关系图,span id为一个微服务对应的节点的标签标识,parent id为该节点的父亲节点的标识;由此可见,本系统有能力记录服务调用的整个过程,同时还能记录调用链在各个微服务上的详细情况,有每个节点的追踪标识(trace id)、微服务对应的节点的标签标识(span id)、请求开始时间(start time)、结束时间(end time)请求的url以及请求状态(status)等,如图中所示的节点的追踪标识(trace id)可以为3edf4。
该拓扑关系中,可以从根节点进行追踪,沿着每一个分支,可以快速确定发生故障的微服务对应的节点以及该节点的相关情况;而现有技术中,需要对每个节点均进行遍历才能确定发生故障的节点。
本发明的一可选的实施例中,步骤14可以包括:
步骤141,对所述至少一个微服务采用故障注入工具进行故障注入,获得各微服务器在故障注入后的异常类型,并记录所述异常类型。
本发明的该实施例中,构建系统异常注入模块,通过调研分布式系统异常类型,并将其模块化,注入系统,并主动记录异常注入情况,作为后续故障数据分析的标签。
本发明的一可选的实施例中,分布式运维模拟系统的构建方法,构建所述至少一个微服务之间的拓扑关系,包括:
通过中间件对所述微服务进行注册和发现,构建所述至少一个微服务之间的拓扑关系;
当需要增加一个新的微服务时,通过中间件对所述新的微服务进行注册和发现,将所述新的微服务加入所述拓扑关系。
本发明的该实施例中,引入zookeeper中间件作为服务的注册与服务发现,使得系统有较强的可拓展性。
本发明的一可选的实施例中,分布式运维模拟系统的构建方法,还可以包括:
步骤16,采集所述微服务的日志信息、基础指标信息以及调用链信息中至少一项;
步骤17,通过数据存储管理工具,将所述微服务的日志信息、基础指标信息以及调用链信息中的至少一项,存储到预设数据库中。
本发明的该实施例中,构建包括但不限于日志、系统基础指标、调用链等数据的数据采集模块,做到系统状况实时记录;引入redis作为数据的缓存,以及mysql作为数据存储工具,使得系统涵盖面更广,更加接近真实的生产系统。构建数据统一管理模块,把系统产生的数据统一存储到数据库,方便统一管理和后续运维人员的分析工作。
本发明的一可选的实施例中,分布式运维模拟系统的构建方法,还可以包括:
步骤18,根据所述至少一个微服务的服务类型,配置资源分配策略;
步骤19,根据所述资源分配策略,对所述至少一个微服务进行资源分配。
该实施例中,根据服务类型,制定资源分配策略,采用docker进行服务部署并实现资源分配策略,利于第五步中的异常注入,同时也更加接近真实系统的部署情况;这里,服务类型如可以包括:登录,订单查询,节点类型等。
本发明的上述实施例,采用微服务架构实施,各微服务之间采用zookeeper进行服务注册与发现,因此在系统拓展方面,只需要把新的微服务注册到zookeeper中,其他微服务就能与其进行交互。本系统采用docker容器部署,基于docker性质,可在消耗更少的资源的前提下,模拟出更加真实的系统整体的情况。能够根据不同的业务场景增加系统架构,并复用已开发的模块,减少开发量,而不影响原有系统功能。且系统主动模拟注入各种异常,包括系统指标的异常、系统业务的异常以及调用链上的异常,且各种异常注入均已模块化,并且方便扩展和注入系统,有利于后续人员对系统运维结果进行对比。本方法全面记录系统行为数据,能提供包括系统指标、日志、trace等方面的系统数据,为后续系统运维作全方位的准备。数据统一管理,方便运维人员进行数据读取。传统系统架构在进行服务拓展需要复杂的配置,与传统服务相比,本系统搭建方法更具拓展性、易部署。
如图3所示,本发明的实施例还提供一种分布式运维模拟系统的构建装置30,所述装置30包括:
获取模块31,用于获得业务场景的至少一个微服务;
处理模块32,根据构建所述至少一个微服务之间的拓扑关系;根据所述拓扑关系,对所述至少一个微服务的调用链进行追踪,得到调用链记录;对所述至少一个微服务进行故障注入,获得异常类型;根据所述拓扑关系、调用链记录以及所述异常类型形成分布式运维模拟系统。
可选的,构建所述至少一个微服务之间的拓扑关系,包括:
对所述至少一个微服务的每个微服务,形成一个服务节点;
采用轻量开发框架,为至少一个服务节点构建路由,形成所述至少一个微服务之间的拓扑关系。
可选的,根据所述拓扑关系,对所述至少一个微服务的调用链进行追踪,得到调用链记录,包括:
根据所述拓扑关系,通过开放追踪工具对所述至少一个微服务的调用链进行追踪,得到调用链记录,所述调用链记录包括微服务之间的响应时长、网络请求详情信息和请求状态信息中的至少一项。
可选的,对所述至少一个微服务进行故障注入,获得异常类型,包括:
对所述至少一个微服务采用故障注入工具进行故障注入,获得各微服务器在故障注入后的异常类型,并记录所述异常类型。
可选的,构建所述至少一个微服务之间的拓扑关系,包括:
通过中间件对所述微服务进行注册和发现,构建所述至少一个微服务之间的拓扑关系;
当需要增加一个新的微服务时,通过中间件对所述新的微服务进行注册和发现,将所述新的微服务加入所述拓扑关系。
可选的,所述处理模块32还用于:采集所述微服务的日志信息、基础指标信息以及调用链信息中至少一项;通过数据存储管理工具,将所述微服务的日志信息、基础指标信息以及调用链信息中的至少一项,存储到预设数据库中。
可选的,所述处理模块32还用于:根据所述至少一个微服务的服务类型,配置资源分配策略;根据所述资源分配策略,对所述至少一个微服务进行资源分配。
需要说明的是,该实施例是与上述方法实施例对应的装置实施例,上述方法实施例中的所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
本发明的实施例还提供一种电子设备,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如上所述的分布式运维模拟系统的构建方法。
本发明的实施例还提供一种计算机可读存储介质,存储指令,当所述指令在计算机上运行时,使得计算机执行如上所述的分布式运维模拟系统的构建方法。
图4示出了本发明实施例提供的计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图4所示,该计算设备可以包括:处理器(processor)、通信接口(Communications Interface)、存储器(memory)、以及通信总线。
其中:处理器、通信接口、以及存储器通过通信总线完成相互间的通信。通信接口,用于与其它设备比如客户端或其它服务器等的网元通信。处理器,用于执行程序,具体可以执行上述用于计算设备的分布式运维模拟系统的构建方法实施例中的相关步骤。
具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。
处理器可能是中央处理器CPU,或者是特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器,用于存放程序。存储器可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序具体可以用于使得处理器执行上述任意方法实施例中的分布式运维模拟系统的构建方法。程序中各步骤的具体实现可以参见上述分布式运维模拟系统的构建方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明实施例的内容,并且上面对特定语言所做的描述是为了披露本发明实施例的最佳实施方式。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
此外,需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种分布式运维模拟系统的构建方法,其特征在于,包括:
获得业务场景的至少一个微服务;
构建所述至少一个微服务之间的拓扑关系;
根据所述拓扑关系,对所述至少一个微服务的调用链进行追踪,得到调用链记录;
对所述至少一个微服务进行故障注入,获得异常类型;
根据所述拓扑关系、调用链记录以及所述异常类型形成分布式运维模拟系统。
2.根据权利要求1所述的分布式运维模拟系统的构建方法,其特征在于,构建所述至少一个微服务之间的拓扑关系,包括:
对所述至少一个微服务的每个微服务,形成一个服务节点;
采用轻量开发框架,为至少一个服务节点构建路由,形成所述至少一个微服务之间的拓扑关系。
3.根据权利要求1所述的分布式运维模拟系统的构建方法,其特征在于,根据所述拓扑关系,对所述至少一个微服务的调用链进行追踪,得到调用链记录,包括:
根据所述拓扑关系,通过开放追踪工具对所述至少一个微服务的调用链进行追踪,得到调用链记录,所述调用链记录包括微服务之间的响应时长、网络请求详情信息和请求状态信息中的至少一项。
4.根据权利要求1所述的分布式运维模拟系统的构建方法,其特征在于,对所述至少一个微服务进行故障注入,获得异常类型,包括:
对所述至少一个微服务采用故障注入工具进行故障注入,获得各微服务器在故障注入后的异常类型,并记录所述异常类型。
5.根据权利要求1所述的分布式运维模拟系统的构建方法,其特征在于,构建所述至少一个微服务之间的拓扑关系,包括:
通过中间件对所述微服务进行注册和发现,构建所述至少一个微服务之间的拓扑关系;
当需要增加一个新的微服务时,通过中间件对所述新的微服务进行注册和发现,将所述新的微服务加入所述拓扑关系。
6.根据权利要求5所述的分布式运维模拟系统的构建方法,其特征在于,还包括:
采集所述微服务的日志信息、基础指标信息以及调用链信息中至少一项;
通过数据存储管理工具,将所述微服务的日志信息、基础指标信息以及调用链信息中的至少一项,存储到预设数据库中。
7.根据权利要求1所述的分布式运维模拟系统的构建方法,其特征在于,还包括:
根据所述至少一个微服务的服务类型,配置资源分配策略;
根据所述资源分配策略,对所述至少一个微服务进行资源分配。
8.一种分布式运维模拟系统的构建装置,其特征在于,所述装置包括:
获取模块,用于获得业务场景的至少一个微服务;
处理模块,根据构建所述至少一个微服务之间的拓扑关系;根据所述拓扑关系,对所述至少一个微服务的调用链进行追踪,得到调用链记录;对所述至少一个微服务进行故障注入,获得异常类型;根据所述拓扑关系、调用链记录以及所述异常类型形成分布式运维模拟系统。
9.一种电子设备,其特征在于,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如权利要求1至7任一项所述的分布式运维模拟系统的构建方法。
10.一种计算机可读存储介质,其特征在于,存储指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至7任一项所述的分布式运维模拟系统的构建方法。
CN202110915807.8A 2021-08-11 2021-08-11 一种分布式运维模拟系统的构建方法、装置及设备 Active CN113360361B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110915807.8A CN113360361B (zh) 2021-08-11 2021-08-11 一种分布式运维模拟系统的构建方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110915807.8A CN113360361B (zh) 2021-08-11 2021-08-11 一种分布式运维模拟系统的构建方法、装置及设备

Publications (2)

Publication Number Publication Date
CN113360361A true CN113360361A (zh) 2021-09-07
CN113360361B CN113360361B (zh) 2021-11-23

Family

ID=77540870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110915807.8A Active CN113360361B (zh) 2021-08-11 2021-08-11 一种分布式运维模拟系统的构建方法、装置及设备

Country Status (1)

Country Link
CN (1) CN113360361B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024837A (zh) * 2022-01-06 2022-02-08 杭州大乘智能科技有限公司 一种微服务系统的故障根因定位方法
CN115277819A (zh) * 2022-07-29 2022-11-01 四川启睿克科技有限公司 一种业务系统整体情况的自动生成方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190156199A1 (en) * 2017-11-20 2019-05-23 International Business Machines Corporation Method for automated integration testing with mock microservices
CN109921927A (zh) * 2019-02-20 2019-06-21 苏州人之众信息技术有限公司 基于微服务的实时调用链跟踪方法
CN110262972A (zh) * 2019-06-17 2019-09-20 中国科学院软件研究所 一种面向微服务应用的失效测试工具及方法
CN110659206A (zh) * 2019-08-30 2020-01-07 平安普惠企业管理有限公司 基于微服务的模拟架构建立方法、装置、介质及电子设备
CN111581036A (zh) * 2020-03-31 2020-08-25 西安电子科技大学 一种物联网故障检测方法、检测系统、存储介质
CN112491634A (zh) * 2020-12-21 2021-03-12 北京云思畅想科技有限公司 一种微服务场景下全链路智能故障模拟及评估防御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190156199A1 (en) * 2017-11-20 2019-05-23 International Business Machines Corporation Method for automated integration testing with mock microservices
US20200174915A1 (en) * 2017-11-20 2020-06-04 International Business Machines Corporation Emulation-based testing of a microservices architecture
CN109921927A (zh) * 2019-02-20 2019-06-21 苏州人之众信息技术有限公司 基于微服务的实时调用链跟踪方法
CN110262972A (zh) * 2019-06-17 2019-09-20 中国科学院软件研究所 一种面向微服务应用的失效测试工具及方法
CN110659206A (zh) * 2019-08-30 2020-01-07 平安普惠企业管理有限公司 基于微服务的模拟架构建立方法、装置、介质及电子设备
CN111581036A (zh) * 2020-03-31 2020-08-25 西安电子科技大学 一种物联网故障检测方法、检测系统、存储介质
CN112491634A (zh) * 2020-12-21 2021-03-12 北京云思畅想科技有限公司 一种微服务场景下全链路智能故障模拟及评估防御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024837A (zh) * 2022-01-06 2022-02-08 杭州大乘智能科技有限公司 一种微服务系统的故障根因定位方法
CN115277819A (zh) * 2022-07-29 2022-11-01 四川启睿克科技有限公司 一种业务系统整体情况的自动生成方法及系统

Also Published As

Publication number Publication date
CN113360361B (zh) 2021-11-23

Similar Documents

Publication Publication Date Title
CN107704392B (zh) 一种测试用例的处理方法及服务器
CN113360361B (zh) 一种分布式运维模拟系统的构建方法、装置及设备
US9697104B2 (en) End-to end tracing and logging
CN103530225B (zh) 自动化编译测试方法及实现该方法的自动化编译测试平台
CN110768872B (zh) 巡检方法、系统、装置、计算机设备和存储介质
US20110060946A1 (en) Method and system for problem determination using probe collections and problem classification for the technical support services
CN105205003A (zh) 一种基于集群化系统的自动化测试方法和装置
US8443078B2 (en) Method of determining equivalent subsets of agents to gather information for a fabric
CN110196804B (zh) 业务的测试方法和装置、存储介质、电子装置
US20200021511A1 (en) Performance analysis for transport networks using frequent log sequence discovery
Żmuda et al. Dynamic monitoring framework for the SOA execution environment
CN110086652A (zh) 一种针对5g核心网中服务网元的管理系统及其方法
CN113254254B (zh) 系统故障的根因定位方法、装置、存储介质及电子装置
CN111881014B (zh) 一种系统测试方法、装置、存储介质及电子设备
CN106357457A (zh) 一种告警测试方法、装置以及系统
CN103544095A (zh) 服务器程序的监控方法及其系统
CN105637488A (zh) 追踪源代码用于末端用户监控
CN114189274A (zh) 一种基于微服务的卫星地面站监控系统
CN112838944B (zh) 诊断及管理、规则确定及部署方法、分布式设备、介质
Zaman et al. A recommender system architecture for predictive telecom network management
CN112769810A (zh) 防火墙测试方法、装置、非易失性存储介质和电子装置
CN104899134A (zh) 域名注册服务器自动化测试系统和方法
CN114077742A (zh) 软件漏洞智能挖掘方法和装置
US20220182851A1 (en) Communication Method and Apparatus for Plurality of Administrative Domains
CN114968272A (zh) 一种算法运行方法、装置、设备、存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant