摘要:微服务架构近年来已成为互联网应用所采用的主流架构模式.然而与传统的软件架构相比,微服务架构更加复杂的部署结构使其面临更多能够导致系统发生故障的潜在威胁,且微服务架构系统故障的症状也更加多样化.在可靠性等一些传统的软件度量已不能充分体现微服务架构系统故障应对能力的情况下,微服务的开发者们开始使用"韧性(resilience)"一词描述微服务架构系统的故障应对能力.为了提高微服务架构系统的韧性,开发者往往需要针对特定的系统环境扰动因素设计应对机制.如何判断一个系统环境扰动因素是否为影响微服务系统韧性的风险因素,以及如何在系统运行发布之前尽可能多地寻找到这些潜在的韧性风险,都是微服务架构系统开发过程中待研究的问题.在先前研究中提出的微服务韧性度量模型的基础上,结合混沌工程,提出了针对微服务架构系统的韧性风险识别和分析方法.韧性风险的识别方法通过不断地向微服务架构系统引入随机系统环境扰动并观察系统服务性能的变化,寻找系统潜在的韧性风险,大幅度减少了软件风险识别过程中的人力成本.对于识别到的韧性风险,通过收集执行混沌工程过程中的系统性能监控数据,韧性风险分析方法将利用因果搜索算法构建出各项系统性能指标之间的影响链路,并将可能性较高的链路提供给运维人员,作为进一步分析的参考.最后,通过在一个微服务架构系统上实施的案例,研究展示了所提出的韧性风险识别和分析方法的有效性.
Abstract:Microservice architecture has already become the mainstream architecture pattern of Internet applications in recent years. However, compared with traditional software architectures, microservice architecture has a more sophisticated deployment structure, which makes it have to face more potential threats that make the system in fault, as well as the greater diversity of fault symptoms. Since traditional measurements like reliability cannot fully show a microservice architecture system's capability to cope with failures, microservice developers started to use the word "resilience" to describe such capability. In order to improve a microservice architecture system's resilience, developers usually need to design specific mechanisms for different system environment disruptions. How to judge whether a system environment disruption is a risk to microservice resilience, and how to find these resilience risks as much as possible before the system is released, are the research questions in microservice development. According to the microservice resilience measurement model which is proposed in authors' previous research, by integrating the chaos engineering practice, resilience risk identification and analysis approaches for microservice architecture systems are proposed. The identification approach continuously generates random system environment disruptions to the target system and monitors variations in system service performance, to find potential resilience risks, which greatly reduces human effort in risk identification. For identified resilience risks, by collecting performance monitoring data during chaos engineering, the analysis approach uses the causality search algorithm to build influence chains among system performance indicators, and provide chains with high possibility to system operators for further analysis. Finally, the effectiveness of the proposed approach is proved by a case study on a microservice architecture system.
PDF全文下载地址:
http://jos.org.cn/jos/article/pdf/6231
删除或更新信息,请邮件至freekaoyan#163.com(#换成@)
基于混沌工程的微服务韧性风险识别和分析
本站小编 Free考研考试/2022-01-02
相关话题/系统 环境 软件 工程 互联网
一种监控系统的链路跟踪型日志数据的存储设计
摘要:随着软件系统越来越复杂化和分布化,为系统提供具有完善功能的监控服务显得越来越重要.APM(applicationperformancemanagement)系统通过采集软件系统运行时的各项指标数据来分析软件的运行状态,例如CPU、内存使用率、垃圾回收的耗时、QPS等指标.此外,APM系统也会在 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02多版本共存的微服务系统自适应演化方法
摘要:微服务设计模式通过将应用程序拆分成多个相互独立的微服务,实现了各个微服务之间的相互解耦,允许各个微服务能够独立地进行迭代开发、部署,从而对用户需求变化以及DevOps流程中部署需求作出快速响应.每个微服务的独立迭代升级导致了系统中可能出现多版本共存现象,不同服务的不同版本之间的依赖关系变得更加 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02区块链系统攻击与防御技术研究进展
摘要:区块链作为一种多技术融合的新兴服务架构,因其去中心化、不可篡改等特点,受到了学术界和工业界的广泛关注.然而,由于区块链技术架构的复杂性,针对区块链的攻击方式层出不穷,逐年增加的安全事件导致了巨大的经济损失,严重影响了区块链技术的发展与应用.从层级分类、攻击关联分析两个维度对区块链已有安全问题的 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向领域的软件系统构造与质量保障专题前言
摘要:软件是推动新一代信息技术发展的驱动力.随着互联网、云计算、人工智能等技术的快速发展,软件与物联网、区块链、自动驾驶等众多领域的融合进一步加强,正引领并促进这些领域向数字化、智能化发展,为社会、经济的加速演进和创新发展带来了新的契机.因此,面向领域的软件技术不仅是软件领域,也是众多其他领域国内外 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02基于环境建模的物联网系统TAP规则生成方法
摘要:用户需求是物联网智能服务的根本驱动力,如IFTTT等很多物联网框架允许用户使用简单的触发-命令编程(TAP)规则进行编程,但它们描述的是设备调度程序,并不是用户服务需求.一些物联网系统提出采用面向目标的需求方法,支持服务目标的分解,但很难保证物联网不同服务间的一致性和服务部署的完整性.为了支持 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向神经机器翻译系统的多粒度蜕变测试
摘要:机器翻译是利用计算机将一种自然语言转换成另一种自然语言的任务,是人工智能领域研究的热点问题之一.近年来,随着深度学习的发展,基于序列到序列结构的神经机器翻译模型在多种语言对的翻译任务上都取得了超过统计机器翻译模型的效果,并被广泛应用于商用翻译系统中.虽然商用翻译系统的实际应用效果直观表明了神经 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02融合代码与文档的软件功能特征挖掘方法
摘要:在软件复用过程中,简洁、清楚的软件功能自然语言描述是帮助复用者快速了解待复用软件项目/代码库的前提和基础.但当前开源软件往往缺乏高质量的软件功能说明文档,使得这一过程变得更加复杂和困难.为此,提出了一种融合代码与文档的软件功能特征挖掘方法.该方法以动宾短语的形式描述软件功能特征,通过迭代挖掘软 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02KGDB:统一模型和语言的知识图谱数据库管理系统
摘要:知识图谱是人工智能的重要基石,其目前主要有RDF图和属性图两种数据模型,在这两种数据模型之上有数种查询语言.RDF图上的查询语言为SPARQL,属性图上的查询语言主要为Cypher.10年来,各个社区开发了分别针对RDF图和属性图的不同数据管理方法,不统一的数据模型和查询语言限制了知识图谱的更 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02PandaDB:一种异构数据智能融合管理系统
摘要:随着大数据应用的不断深入,对大规模结构化/非结构化数据进行融合管理和分析的需求日益凸显.然而,结构化/非结构化数据在存储管理方式、信息获取方式、检索方式方面的差异给融合管理和分析带来了技术挑战.提出了适用于异构数据融合管理和语义计算的属性图扩展模型,并定义了相关属性操作符和查询语法.接着,基于 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02基于信息检索的软件缺陷定位方法综述
摘要:基于信息检索的软件缺陷定位方法是当前软件缺陷定位领域中的一个研究热点.该方法主要分析缺陷报告文本和程序模块代码,通过计算缺陷报告和程序模块间的相似度,选取与缺陷报告相似度最高的若干程序模块,将其推荐给开发人员.对近些年国内外研究人员在该综述主题上取得的成果进行了系统的梳理和总结.首先,给出研究 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02