Microvision: Static analysis-based approach to visualizing microservices in augmented reality
微服务正在支持数字化转型;然而,缺少基本的工具和系统视角来更好地观察、理解和管理这些系统、它们的属性和依赖关系。微服务架构倾向于去中心化,这给系统运营带来了很多优势,但也给其发展带来了挑战。微服务缺乏以系统为中心的视角,无法更好地应对系统演进和质量评估。在这项工作中,我们将探索基于静态分析的微服务特定架构重构。这样的重建通常导致系统模型以可视化所选择的以系统为中心的视角。当服务基数较高时,传统模型的实用性受到限制。我们考虑一种替代的数据可视化使用三维空间,使用增强现实。为了开始测试从微服务系统中获得这些视角的可行性,我们开发并实现了用于软件架构重建和比较视角可视化的原型工具。
2022-07-23 cs.SE
Comparison of Static Analysis Architecture Recovery Tools for Microservice Applications
本研究针对微服务架构监管难、缺乏工具有效性实证综述的问题,计划通过多源文献梳理静态分析架构恢复工具,在通用数据集上实测并比较其有效性,为CI/CD集成提供参考。
2024-03-11 cs.SE
PF4Microservices: A decomposion scheme for microservices based on Problem Frames
近年来,微服务架构已经成为软件工程中流行的架构风格,其对DevOps和持续交付的天然支持,以及其可扩展性和可扩展性,推动行业从业者迁移到微服务架构。然而,采用微服务架构存在许多挑战,其中最重要的是如何将单片系统正确分解为微服务。目前,单片系统的微服务分解决策依赖于主观的人类经验,这是一个成本高昂、耗时的过程,结果具有高度的不确定性。为了解决这个问题,本文提出了一种使用Jackson问题框架进行微服务分解的方法。该方法首先分析系统的需求,获得所提出的软件与其环境之间的交互描述,构建多个问题图,然后通过分析它们之间的相关性和相似性合并问题图,得到微服务分解方案。最后以一个智能停车场系统为例进行了案例分析。研究结果表明,该方法可以根据需求和软件环境进行微服务分解,从而减轻开发人员的决策负担,分解结果合理。
2022-07-11 cs.SE
Design, Monitoring, and Testing of Microservices Systems: The Practitioners' Perspective
微服务架构(MSA)在软件行业受到了极大的关注。然而,很少有关于微服务系统的设计、监控和测试的经验证据。目的:本研究旨在深入了解微服务系统是如何在行业中设计、监控和测试的。方法:一项混合方法的研究进行了106个调查响应和6个微服务从业者的访谈。结果如下:主要调查结果如下:(1)领域驱动设计和业务能力的组合是将应用程序分解为微服务的最常用策略,(2)超过一半的参与者在设计微服务系统时使用架构评估和架构实现,(3)API网关和前端后端模式是最常用的MSA模式,(4)资源使用和负载均衡作为监控指标,日志管理和异常跟踪作为监控实践被广泛使用,(5)单元和端到端测试是最常用的测试策略,以及(6)微服务系统的复杂性对其设计,监控和测试提出了挑战,对此没有专用的解决方案。结论:我们的研究结果表明,需要更多的研究来(1)在设计层面处理微服务的复杂性,(2)处理微服务系统中的安全性,以及(3)通过专用解决方案解决监控和测试挑战。
2021-08-21 cs.SE
CATMA: Conformance Analysis Tool For Microservice Applications
本文提出自动化工具 CATMA,用于检测微服务系统部署与实现之间的不一致,并可视化差异、生成可能解释,评估表明其性能和洞察价值良好。
2024-01-23 cs.SE
Microservice Architecture Reconstruction and Visualization Techniques: A Review
微服务系统解决方案正在推动数字化转型;然而,缺少基本工具和系统视角,无法更好地观察、理解和管理这些系统及其属性和依赖关系。微服务架构导致了去中心化,这对系统运行有很多好处,但也给它们的发展带来了挑战。微服务系统通常缺乏以系统为中心的视角,这将有助于工程师更好地应对系统演进和质量评估。在这项工作中,我们探索了基于静态分析的微服务特定架构重构。这样的重建通常导致系统模型以可视化所选择的以系统为中心的视角。传统的模型涉及2D方法,然而,当服务激增时,这些方法的实用性受到限制。我们考虑了与微服务相关的各种架构视角,并评估了传统方法的相关性,将其与使用3D空间的替代数据可视化进行了比较。作为3D方法的代表,我们考虑了在增强现实中呈现的3D图形模型。为了开始测试从微服务系统中获得这些视角的可行性,我们开发并实现了用于软件架构重建和比较视角可视化的原型工具。使用这些原型,我们与软件从业者进行了一个小型的用户研究,以突出这些创新的可视化用于普通从业者的推理和任务的潜力和局限性。
2022-07-23 cs.SE
Design principles, architectural smells and refactorings for microservices: A multivocal review
敏捷服务交付等潜在好处已经促使许多公司通过微服务提供业务功能。然而,不良气味总是在拐角处,正如大量文献所证明的那样,讨论可能违反微服务设计原则的架构气味。在本文中,我们系统地回顾了关于该主题的白色和灰色文献,以确定最受认可的微服务架构气味,并讨论允许解决这些问题的架构重构。
2019-09-10 cs.SE
Can AI Agents Generate Microservices? How Far are We?
SERC, IIIT Hyderabad(印度信息技术研究所海德拉巴分校 SERC);University of Oulu(奥卢大学);University of Southern Denmark(南丹麦大学)
本文研究了AI代理生成微服务的能力,发现渐进式生成在单元测试中表现较好,而清洁状态生成在集成测试中表现更优,但整体上仍需人类监督。
2026-03-09 cs.SE
A Feature Dataset of Microservices-based Systems
本文针对微服务坏味道检测缺乏开源特征数据集的问题,收集多个Spring Cloud微服务系统,建立特征度量指标并开发提取程序,经人工验证后构建并公开了一个微服务特征数据集。
2024-04-02 cs.SE
Microservice Architecture Patterns for Scalable Machine Learning Systems
本文探讨了微服务架构在机器学习系统中的应用,分析了Netflix、Uber和Google等公司如何通过微服务处理训练、部署和监控等关键任务,并展示了微服务设计在减少延迟和提升可扩展性方面的优势。
2026-03-14 cs.SE
Microservices Anti Patterns: A Taxonomy
有几家公司正在用微服务重新架构他们的整体信息系统。然而,许多公司在迁移时没有微服务的经验,主要是从书籍或从业者的博客中学习如何迁移。由于这一主题的新颖性,从业人员和咨询公司正在通过实践学习如何迁移,因此面临着几个问题,但也有几个好处。在本章中,我们将介绍最常见的微服务反模式的目录和分类,以识别常见问题。我们的反模式目录是基于我们在过去三年中采访的不同实践者总结的经验。我们确定了20个反模式的分类,包括组织(面向团队和面向技术/工具)反模式和技术(内部和通信)反模式。这些结果可能有助于从业人员避免在他们开发的系统中遇到同样的困难情况。此外,研究人员可以从这个目录中受益,并进一步验证所识别的反模式的危害性。
2019-08-21 cs.SE
Business Process Modeling and Execution -- A Compiler for Distributed Microservices
在本文中,我们建议重新思考如何建模业务流程的主导逻辑。我们认为基于参与者的方法更好地支持业务流程的基本性质。我们提出了一个编译器架构的建议,以建模和执行业务流程作为一组通信微服务,托管在通用虚拟机上进行分布式执行。
2016-01-22 cs.SE
The Technical Debt Gamble: A Case Study on Technical Debt in a Large-Scale Industrial Microservice Architecture
本研究通过混合方法案例研究,揭示大规模微服务系统中技术债务的表现,提出静态分析可高效发现债务,并指出沟通不足与架构组织错位加剧债务,总结出管理策略。
2025-06-19 cs.SE
MS2M: A message-based approach for live stateful microservices migration
在过去几年中,边缘和云计算基础设施的激增以及移动设备数量的增加促进了许多新颖应用的出现。然而,复杂性的增加也给服务提供商带来了新的挑战,例如,在运行时期间有效管理相互依赖的服务。一种策略是通过将服务迁移到合适的服务器来动态地重新分配服务。然而,并非每个微服务都可以部署为无状态实例,这导致实时迁移技术的性能不佳。在这项工作中,我们提出了一种新的实时迁移方案,专注于边缘和云环境中的有状态微服务,通过利用底层消息传递基础设施来重建服务的状态。这种方法不仅可以应用于各种微服务部署场景,实验评估结果还显示,与停止并复制迁移方法相比,停机时间减少了19.92%。
2022-03-14 cs.SE
A curated Dataset of Microservices-Based Systems
基于微服务的架构基于一组模块化、独立和容错的服务。近年来,软件工程社区提出了一些研究,调查基于微服务的架构中潜在的、经常性的、有效的架构模式,因为它们对于维护和扩展基于微服务的系统非常重要。事实上,这种系统的组织结构应该反映在所谓的微服务架构模式中,最适合项目和开发团队的需求。然而,缺乏共享开源项目微服务模式和实践的公共存储库,这可能有利于教学目的和未来的研究调查。本文试图通过共享数据集来填补这一空白,第一次策划基于微服务的项目列表。具体来说,该数据集由20个开源项目组成,所有项目都使用特定的微服务架构模式。此外,该数据集还报告了有关上述项目的服务间调用或依赖关系的信息。为了进行分析,我们使用了两种不同的工具(1)SLOCcount和(2)MicroDepGraph来获取微服务数据集的不同参数。微服务数据集和分析工具都可以在线公开获得。我们相信,这个数据集将被研究界广泛使用,以了解更多关于微服务架构和依赖模式的信息,使研究人员能够比较常见项目的结果。
2019-09-07 cs.SE
Systematic Mapping of Monolithic Applications to Microservices Architecture
本文针对单体应用向微服务架构迁移的挑战,提出基于领域驱动开发概念的微服务识别技术,并通过金融应用案例验证其能提升性能与建立清晰模型,但对低复杂度系统适用性有限。
2023-09-07 cs.SE
Microservices: Migration of a Mission Critical System
微服务范式旨在改变软件被感知、构思和设计的方式。与单片架构相比,这种新的有前途的范例的基本特征之一是可扩展性。在本文中,我们提出了一个真实世界的案例研究,以展示如何通过将单片架构重新实现为微服务来积极影响可扩展性。该案例研究基于FX Core系统,这是丹麦最大的银行和北欧领先的金融机构之一丹麦银行的关键任务系统。
2017-04-13 cs.SE
Evaluating the Risk of Changes in a Microservices Architecture
针对微服务架构中独立部署服务带来的变更风险管理复杂性,本研究提出一种算法,帮助开发团队确定对系统中任意微服务的每次变更所关联的风险。
2023-09-12 cs.SE
Microservices as an Evolutionary Architecture of Component-Based Development: A Think-aloud Study
微服务成为一种基于面向服务开发的快速增长和流行的架构风格。使用基于组件的方法的主要优点之一是支持重用。在本文中,我们提出了一个微服务的研究,以及这些系统是如何与传统的基于组件的系统的抽象模型。这项研究的重点是微服务的核心属性,包括其可扩展性,可用性和弹性,一致性,耦合性和内聚性以及数据存储能力,同时强调其与组件相关的限制和挑战。为了支持我们的研究,我们调查了现有的文献,并在这个不断发展的研究领域提供了潜在的方向和有趣的点。因此,使用微服务作为组件是很有前途的,并且将是构建用于使用基于组件的方法构建的应用程序的良好机制。
2018-05-30 cs.SE
How Does Microservice Granularity Impact Energy Consumption and Performance? A Controlled Experiment
Vrije Universiteit Amsterdam(阿姆斯特丹自由大学)
本文通过受控实验研究微服务粒度对能耗和性能的影响,发现粒度显著影响能耗和响应时间,且高负载进一步加剧能耗和响应时间,强调在微服务设计中需谨慎考虑粒度与系统规模的关系。
2025-11-26 cs.SE
Towards an Architecture-centric Methodology for Migrating to Microservices
针对微服务迁移缺乏系统指导、从业者难用学术成果的问题,本文设计以架构为中心的迁移方法论,提出覆盖三阶段的指导框架,整合各类科研方法技术,后续将配套工具助力架构师高效完成迁移。
2022-07-01 cs.SE
MicroRes: Versatile Resilience Profiling in Microservices via Degradation Dissemination Indexing
针对微服务韧性分析依赖手动配置导致劳动强度大且灵活性差的问题,提出首个基于退化传播索引的通用韧性分析框架 MicroRes,通过注入故障并评估退化在指标间的传播程度来量化微服务韧性,在开源和工业系统中验证了其有效性与实用价值。
2024-03-21 cs.SE
Fuzzing Microservices in Face of Intrinsic Uncertainties
Beihang University(北京航空航天大学);Kristiania University College(克里斯蒂亚纳大学学院);Oslo Metropolitan University(奥斯陆都会大学)
本文提出了一种基于不确定性的系统级微服务模糊测试方法,通过整合服务虚拟化和不确定性模拟,提升工业微服务系统的可靠性和容错性。
2026-03-03 cs.SE
Migration to Microservices: A Comparative Study of Decomposition Strategies and Analysis Metrics
本文提出一种基于密度的聚类方法,通过考虑类之间的静态分析、结构和语义关系来识别单体应用中的潜在微服务,并在多个应用和基线上验证了其有效性和稳定性。
2024-02-13 cs.SE
Evaluating Microservice Organizational Coupling based on Cross-service Contribution
本文针对微服务团队跨服务贡献引发的组织耦合问题,提出一种通过调查微服务所有权和跨服务贡献来评估并缓解组织耦合的可自动化方法。
2023-09-07 cs.SE
Comparison of Static Analysis Architecture Recovery Tools for Microservice Applications
本研究通过多源文献综述识别出13款面向微服务应用的静态架构恢复工具,对其中9款的检测能力进行对比,发现最优工具F1值为0.86,进一步组合4款工具可将F1值提升至0.91。
2024-12-11 cs.SE
Enabling Community Health Care with Microservices
微服务架构(MA)由松散耦合的粗粒度服务组成,强调弹性和自主性,从而能够开发更具可扩展性的应用程序。这种架构更能容忍用户和企业不断变化的需求,以应对新兴技术及其对人类互动和行为的相关影响。本文通过代理的视角来看待物联网(IoT)中的微服务,并使用社区医疗领域的一个示例来探讨如何对复杂的应用场景(包括软件和硬件交互)进行建模。
2017-10-03 cs.SE
Toward Organizational Decoupling in Microservices Through Key Developer Allocation
该研究提出一种识别微服务项目中关键开发者的方法,并探讨其与组织耦合的联系,以通过检测和缓解组织耦合来维护和优化微服务架构,防止退化。
2025-01-29 cs.SE
Towards Deep Learning Enabled Cybersecurity Risk Assessment for Microservice Architectures
针对微服务架构安全风险评估效率低的问题,提出基于深度学习自然语言处理模型的CyberWise Predictor框架,通过分析漏洞描述预测漏洞指标,在自动预测新漏洞指标上达92%平均准确率,助力开发者识别和缓解安全风险。
2024-03-22 cs.SE
Root Cause Analysis for Microservice System based on Causal Inference: How Far Are We?
本文系统评估九种因果发现方法和二十一种根因分析方法,揭示其在有效性、效率和参数敏感性上的不足及合成与真实系统性能差异,并展望未来方向。
2024-09-08 cs.SE
On Representing Resilience Requirements of Microservice Architecture Systems
随着DevOps实践和容器技术的传播,微服务架构近年来已成为主流架构风格。弹性是微服务架构系统(MSA系统)的一个关键特性,它显示了应对各种导致服务降级的系统干扰的能力。然而,由于软件领域对弹性的定义缺乏共识,尽管人们对MSA系统的弹性做了大量的工作,但开发人员仍然不清楚MSA系统应该有多大的弹性,以及需要什么样的弹性机制。本文在借鉴其他科学领域已有的弹性研究成果的基础上,给出了微服务弹性的定义,并提出了一个度量服务弹性的微服务弹性度量模型。并给出了一个描述MSA系统弹性需求的需求模型。需求模型使用KAOS中的元素来表示度量模型中的概念,并将服务弹性目标分解为可由系统组件执行的系统行为。作为概念的证明,一个案例研究进行MSA系统,以说明如何应用所提出的模型。
2020-10-09 cs.SE
Does Microservices Adoption Impact the Development Velocity? A Cohort Study. A Registered Report
本研究通过队列研究比较GitHub上微服务与单体架构项目,旨在探究微服务对开发速度的影响,并确认其有效提升开发速度,为实证方法贡献首批队列研究案例。
2023-06-21 cs.SE
A Microservice Architecture for Online Mobile App Optimization
在过去的十年中,出现了大量用于分析和优化移动应用程序的技术。然而,众所周知,这些技术的组件很难在其原始工具之外提取和重用。本文介绍了MAOMAO,一个基于微服务的参考架构,用于重用和集成这些组件。MAOMAO的两个目标是(1)在实践中采用可用的应用程序优化技术,(2)改进新技术的构建和评估。本文使用几种现有的应用程序优化技术来说明MAOMAO背后的动机及其从根本上改变这一领域的潜力。
2019-02-24 cs.SE
CC4M: Code Clone Analysis and Visualization for Microservices
Ritsumeikan University(立命馆大学)
针对微服务跨边界代码克隆的维护问题,提出CC4M工具,该工具可检测并丰富克隆信息,通过交互式散点图可视化并支持筛选,助力识别代码变更的潜在影响范围。
2026-08-31 cs.SE
Distributed Architecture Reconstruction of Polyglot and Multi-Repository Microservice Projects
Adelaide University(阿德莱德大学);Swordfish Computing(剑鱼计算公司);Singapore Management University(新加坡管理大学);Monash University(蒙纳士大学)
本文提出了一种支持多仓库环境的分布式架构重建框架,通过技术特定的提取器模块实现静态架构重建,以应对微服务项目中快速演变带来的文档维护挑战。
2026-02-08 cs.SE
Organizational Cohesion in Microservice Architectures: A Multi-Project Empirical Study
Free University of Bozen-Bolzano(博尔扎诺自由大学)
提出组织内聚性概念及度量方法PTC,通过Spinnaker等7个开源系统分析,发现核心与外围服务存在系统性差异,PTC与AOC弱相关,揭示团队内聚与跨服务开发活动的不同组织动态。
2026-06-19 cs.SE
Kubernetes as an Availability Manager for Microservice Applications
向基于微服务的架构的转变正在顺利进行。在这种架构风格中,小型和松散耦合的模块被独立开发、部署和扩展,以组成云原生应用程序。然而,对于运营商级服务提供商迁移到微服务架构风格,可用性仍然是一个问题。Kubernetes是一个开源平台,它定义了一组构建块,这些构建块共同提供了部署、维护、扩展和修复容器化微服务的机制。因此,Kubernetes在管理其可用性的同时隐藏了微服务编排的复杂性。在初步工作中,我们使用Kubernetes的默认配置,从私有云设置的可用性角度评估了Kubernetes。在本文中,我们研究了更多的架构并进行了更多的实验,以评估Kubernetes为其托管微服务提供的可用性。我们为公共云和私有云提供不同的架构。我们评估了通过Kubernetes的修复能力可实现的可用性。我们研究了增加冗余对基于微服务的应用程序的可用性的影响。我们在Kubernetes的默认配置下以及其响应最快的配置下进行实验。我们还与可用性管理框架(AMF)进行了比较评估,AMF是一种经过验证的解决方案,可作为管理高可用性的中间件服务。我们的调查结果表明,在某些情况下,使用Kubernetes管理的应用程序的服务中断非常高。
2019-01-15 cs.SE
Energy Efficiency in Microservice Architectures: A Systematic Literature Review
University of Groningen(格罗宁根大学)
本研究通过系统文献综述分析40项相关研究,发现微服务能效多聚焦运行时优化,设计时集成不足,测量依赖基础设施导向的方法,需加强架构层面的早期集成。
2026-08-06 cs.SE
An Empirical Study on Challenges of Event Management in Microservice Architectures
本文通过挖掘超8000个Stack Overflow问题并人工分析628个样本,首次系统刻画了微服务中事件管理的实践与挑战,识别出大型事件负载、事件模式建模、事件流审计及顺序约束等关键问题,并为开发者、技术提供商和研究人员提出可操作的改进建议。
2024-08-01 cs.DB cs.SE
Fostering Microservice Maintainability Assurance through a Comprehensive Framework
本项目提出一个针对微服务架构的自动化评估框架,整合架构可视化、耦合检测、测试覆盖率测量和语义克隆识别等功能,有效提升了微服务系统的可维护性保障能力。
2024-07-23 cs.SE
KRCA: An Efficient Root Cause Analysis System in Hyper-scale Microservice Systems via Agentic AI
Nankai University(南开大学);Kuaishou Technology(快手科技);Tsinghua University(清华大学)
提出KRCA系统,通过多阶段流水线(API级钻取、骨架因果图、记忆增强多智能体框架)实现超大规模微服务的高效根因定位与故障分类,AC@1达0.88和0.79,诊断时间减少77.3%。
2026-08-04 cs.SE
Microservices, Continuous Architecture, and Technical Debt Interest: An Empirical Study
持续架构(CA)是一种支持公司缩短交付间隔时间的方法。迁移到微服务是公司采用持续架构流程时最常见的情况之一[4]。公司通常采用初始迁移策略,利用简化的微服务模式从整体系统中提取一些组件作为微服务[5][4]。例如,公司通常直接将微服务连接到传统的单片系统,并且在开始时不采用任何消息总线。当系统开始变得越来越复杂时,他们通常会考虑不同的架构模式,重新构建系统。一些公司引入API网关模式来简化不同服务的管理和负载均衡,而另一些公司也考虑轻量级消息总线[4][5][6]。所有这些架构变化都需要对系统进行深度重构,从而增加了引入新故障的风险。在本文中,我们报告了正在进行的工作的初步结果,我们监测了采用CA方法的中小企业(SME =中小型企业)的TD,同时将传统的单片系统迁移到微服务生态系统。据我们所知,目前还没有关于推迟活动对TD的影响的研究,特别是在CA和微服务的背景下。这项工作将帮助公司了解TD如何随着时间的推移而增长和变化,同时为未来研究TD在持续架构过程中的兴趣分析开辟新的途径。
2018-10-25 cs.SE
Gamifying Architectural Governance to Reduce Organizational Coupling in Microservice Systems
Free University of Bozen-Bolzano(博尔扎诺自由大学)
本文提出通过游戏化手段影响开发者行为,减少微服务系统中的组织耦合,采用游戏化框架持续挖掘代码库数据以检测架构边界违规,提升架构可维护性。
2026-04-24 cs.SE
How Do Microservice API Patterns Impact Understandability? A Controlled Experiment
本文通过 65 名参与者、6 种 MAP 和 24 个等价 API 示例的受控交叉实验,发现 5 种模式显著提升可理解性,但效应多较小,且经验丰富者获益更明显。
2024-02-21 cs.SE
Analyzing the Evolution of Structural Communities within Microservice Architecture
University of Oulu(奥卢大学);University of Southern Denmark(南丹麦大学)
本研究通过时间社区检测方法分析微服务架构中社区的演化,发现稳定的双社区结构及其与业务流程的对应关系,并利用成员强度指标进行细粒度评估。
2026-06-02 cs.SE
FC-ADL: Efficient Microservice Anomaly Detection and Localisation Through Functional Connectivity
University of Sussex(苏塞克斯大学)
FC-ADL通过功能连接概念,高效检测和定位微服务异常,适用于大规模部署。
2025-11-30 cs.DC cs.LG cs.SE
Control Flow Versus Data Flow in Distributed Systems Integration: Revival of Flow-Based Programming for the Industrial Internet of Things
当我们考虑网络基础设施的应用层时,数据和控制流是分布式系统集成中的重要问题。模块化是软件设计的基本原则,特别是对于分布式系统架构。模块化强调单个模块的高内聚性和模块之间的低耦合性。微服务是最近的模块化方法,具有独立部署的具体要求,特别是分散的数据管理。微服务的内聚性与松散耦合密切相关,使微服务架构的开发、部署和演进变得灵活和可扩展。然而,根据我们对微服务架构的经验,微服务之间的交互和流通常比传统的单体企业系统更复杂,因为服务往往更小,只有一个责任,从而导致协作需求。我们建议,对于微服务之间的松散耦合,应避免在应用程序集成级别上使用中央工作流引擎进行显式控制流建模和执行。在集成微服务的层面上,数据流建模应该占主导地位。控制流应该是次要的,最好委托给微服务。我们讨论了分布式系统集成中的耦合,并反映了数据和控制流方面的业务流程建模的历史。为了说明我们的建议,我们在工业DevOps项目Titan中展示了基于流的编程的一些结果,在该项目中,我们将基于流的编程用于工业物联网。
2021-08-18 cs.SE
The OpenDC Microservice Simulator: Design, Implementation, and Experimentation
本文设计并实现基于参考架构的 OpenDC 微服务模拟器,利用统计模型生成工作负载,支持并发、请求深度及多种调度策略,并通过实验验证其评估能力。
2023-04-26 cs.DC cs.SE
CARGO: AI-Guided Dependency Analysis for Migrating Monolithic Applications to Microservices Architecture
微服务架构(MSA)已成为设计云原生企业应用程序的事实标准,因为它具有高效的基础设施设置、服务可用性、弹性可扩展性、可靠性和更好的安全性。现有的(单体)系统必须分解为微服务来利用这些特性。由于大规模应用程序的手动分解可能很费力且容易出错,因此基于AI的系统检测分解策略越来越受欢迎。然而,这些方法的有用性是有限的程序表示的表现力和他们无法模拟应用程序的依赖于关键的外部资源,如数据库。因此,由当前工具提供的分区建议导致导致(a)分布式整体,和/或(b)强制使用(经常受到批评的)分布式事务的架构。这项工作试图通过引入CARGO({context-sensitive l [A] bel p [R] opa [G] ati [O] n}的缩写)来克服这些挑战,CARGO是一种新的无监督/半监督分区细化技术,其使用单片应用程序的上下文和流敏感系统依赖图来细化并从而丰富当前最先进算法的分区质量。CARGO被用于增强四种最先进的微服务分区技术,这些技术应用于五个Java EE应用程序(包括一个工业规模的专有项目)。实验表明,CARGO可以提高所有现代微服务划分技术的划分质量。此外,CARGO大大减少了分布式事务,对基准应用程序(在不同负载下部署)的真实世界性能评估显示,CARGO还将部署的微服务应用程序的整体延迟降低了11%,平均吞吐量增加了120%。
2022-10-06 cs.SE
Refactoring Towards Microservices: Preparing the Ground for Service Extraction
针对单体系统向微服务迁移中现有方法忽略代码层面挑战的问题,本文提出含7种聚焦依赖处理的重构方法目录,填补代码层流程系统化空白,简化迁移并为自动化奠基。
2025-10-03 cs.SE
Distributed Redundant Placement for Microservice-based Applications at the Edge
多访问边缘计算(MEC)作为一种将计算和通信资源从云推到网络边缘以提供服务和执行计算的有前途的范例正在蓬勃发展。通过容器技术,内存占用小的移动设备可以运行基于复合微服务的应用程序,而无需耗时的主干。边缘服务布局是MEC从理论走向实践的重要环节。然而,目前最先进的研究没有充分考虑到服务的复合属性。此外,尽管Kubernetes具有一定的修复容器故障的能力,但由于边缘站点的异构性和可变性,无法确保高可用性。针对这些问题,提出了一种分布式冗余布局框架SAA-RP和一种基于遗传算法的服务器选择(GASS)算法,用于具有顺序组合结构的微服务应用。我们在考虑微服务请求的不确定性的情况下制定了一个随机优化问题,然后为每个微服务决定如何部署它,有多少实例以及将它们放置在哪些边缘站点上。基准策略在两种情况下实现,分别是允许冗余和不允许冗余。基于真实世界数据集的数值结果验证了GASS显著优于所有基准策略。
2020-05-19 cs.DC cs.SE
Microservice Vulnerability Analysis: A Literature Review with Empirical Insights
该研究综述62篇文献并识别126个微服务安全漏洞,提出按架构特征划分的漏洞分类法,且用三种工具扫描四个基准应用加以验证和映射分析。
2024-07-31 cs.CR cs.SE
Kuksa: A Cloud-Native Architecture for Enabling Continuous Delivery in the Automotive Domain
将车辆连接到云平台实现了创新的业务场景,同时提出了新的质量问题,例如可靠性和可扩展性,这些问题必须通过研究来解决。基于微服务的云原生架构是实现持续交付并提高服务可靠性和可扩展性的最新方法。我们提出了一种将汽车领域的云平台架构重组为微服务架构的方法。为此,我们采用并实现了文献中的微服务模式来设计云原生汽车架构,并在汽车领域的一个名为Eclipse Kuksa的真实项目中进行了实验室实验,以评估微服务的可靠性和可扩展性。研究结果表明,拟议的架构可以处理连续的软件交付在空中发送自动控制消息的车辆设置。不同的模式使我们能够进行更改或中断服务,而不会将影响扩展到其他人。这项研究的结果提供了证据,表明微服务是一种潜在的设计解决方案,可以处理汽车领域基于云的服务上的服务故障和高负载。
2019-10-22 cs.DC cs.SE
An Empirical Study on How Architectural Topology Affects Microservice Performance and Energy Usage
Vrije Universiteit Amsterdam(阿姆斯特丹自由大学)
本文通过实证研究探讨了微服务架构拓扑对性能和能耗的影响,分析了六种典型拓扑结构在不同规模下的表现,发现拓扑结构显著影响能耗和性能,Probabilistic和Parallel Fan-Out在CPU负载下最为节能。
2026-03-31 cs.PF cs.SE