摘要:作为云原生应用的一种典型形态,微服务架构已经在各种企业应用系统中被广泛使用.在企业实践中,许多微服务都是在单体架构的遗留系统基础上通过微服务拆分和改造形成的,其中的拆分决策(特别是数据库拆分)对于微服务系统的质量有着很大的影响.目前,单体系统的微服务拆分决策主要依赖于人的主观经验,整个过程成本高、耗时长、结果不确定性很高.针对这一问题,提出一种场景驱动、自底向上的单体系统微服务拆分方法.该方法以场景驱动的方式,通过动态分析获取单体遗留系统运行时的方法调用和数据库操作信息,然后基于数据表之间的关联分析生成数据库拆分方案,接着再自底向上进行搜索,产生相应的代码模块拆分方案.基于这种方法,实现了一个原型工具MSDecomposer,将拆分过程可视化,并支持多种维度的反馈调整策略.基于多个开源软件系统进行了案例研究,研究结果表明,该方法能够显著加快微服务拆分决策的速度,减轻开发人员的决策负担,得到的拆分结果是合理的.
Abstract:As a typical form of cloud-native application, microservice architecture has been widely used in various enterprise applications. In enterprise practice, many microservices are formed by decomposing and transforming the legacy system of monolithic architecture. The decomposition decision, especially database decomposition, has a great impact on the quality of the microservice system. At present, the microservice decomposition decision mainly depends on the human subjective experience. The whole process is costly, time-consuming, and uncertain. To solve this problem, this study proposes a scenario-driven, bottom-up microservice decomposition method for monolithic system. This method uses scenario-driven method to obtain the method call and database operation information of monolithic system by dynamic analysis, and to generate database decomposition scheme based on analyzing the association among data tables, and then it searches from the bottom up to generate the corresponding code module decomposition scheme. Based on this method, this study implements a prototype tool MSDecomposer, which visualizes the decomposing process and supports feedback adjustment strategies of multiple dimensions. This study conducts case studies based on several open-source software systems, and the results show that the method proposed in this study can significantly speed up the decision-making of microservice decomposition, reduce the decision-making burden of developers and the final result is reasonable.
PDF全文下载地址:
http://jos.org.cn/jos/article/pdf/6031
删除或更新信息,请邮件至freekaoyan#163.com(#换成@)
场景驱动且自底向上的单体系统微服务拆分方法
本站小编 Free考研考试/2022-01-02
相关话题/系统 数据库 方案 质量 经验
基于训练空间重构的多模块TSK模糊系统
摘要:利用重构训练样本空间的手段,提出一种多训练模块Takagi-Sugeno-Kang(TSK)模糊分类器H-TSK-FS.它具有良好的分类性能和较高的可解释性,可以解决现有层次模糊分类器中间层输出和模糊规则难以解释的难题.为了实现良好的分类性能,H-TSK-FS由多个优化零阶TSK模糊分类器组成 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02分级可逆的关系数据水印方案
摘要:关系数据可逆水印技术是保护数据版权的方法之一.它克服了传统的关系数据数字水印技术的缺点,不仅可以声明版权,而且可以恢复原始数据.现有方法在恢复原始数据时不能控制数据恢复的程度,无法调节数据的可用性.提出了一种分级可逆的关系数据水印方案,定义了数据质量等级来反映水印嵌入对数据可用性的影响,设计了 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02系统软件前沿进展专题前言
摘要:Abstract:PDF全文下载地址:http://jos.org.cn/jos/article/pdf/6072 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向移动终端智能的自治学习系统
摘要:在移动终端设备中部署机器学习模型已成为学术界和产业界的研究热点,其中重要的一环是利用用户数据训练生成模型.然而,由于数据隐私日益得到重视,特别是随着欧洲出台GDPR、我国出台《个人信息保护法》等相关法律法规,导致开发者不能任意从用户设备中获取训练数据(特别是隐私数据),从而无法保证模型训练的质 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向操作系统可靠性保障的开源软件供应链
摘要:软件可靠性是软件工程领域中的研究热点之一,故障率分析是软件可靠性的典型研究方法.然而,软件构建模式已从单体模式演进到以开源软件为代表的规模化协作模式,操作系统作为代表性产物之一,所含开源软件之间通过组合关系和依赖关系,形成了一个包含上万节点的供应关系网络.典型方法缺乏对供应关系的考量,无法准确 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02FPGA加速系统开发工具设计:综述与实践
摘要:近年来,现场可编程逻辑门阵列(FPGA)在异构计算领域因其优异的可定制性和可重配置特点吸引了工业界和学术界的广泛关注.基于FPGA的硬件加速系统设计涉及到深度的软硬件协同开发,利用软硬件各自开发工具分别开发再集成的传统开发方式具有学习门槛高,集成、测试、部署耗时长等缺陷,开发人员难以利用FPG ...中科院软件研究所 本站小编 Free考研考试 2022-01-02抗电路板级物理攻击的操作系统防御技术研究
摘要:计算设备处理和存储日益增多的敏感信息,如口令和指纹信息等,对安全性提出更高要求.物理攻击技术的发展催生了一种通过攻击电路板级硬件组件来获取操作系统机密信息的攻击方法:电路板级物理攻击.该类攻击具有工具简单、成本低、易流程化等特点,极容易被攻击者利用形成黑色产业,是操作系统面临的新安全威胁和挑战 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02多节点系统异常日志流量模式检测方法
摘要:随着国家高性能计算环境各个节点产生日志数量的不断增加,采用传统的人工方式进行异常日志分析已不能满足日常的分析需求.提出一种异常日志流量模式的定义方法:同一节点相同时间片内日志类型的有序排列代表了一种日志流量模式,并以该方法为出发点,实现了一个异常日志流量模式检测方法,用来自动挖掘异常日志流量模 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02智能嵌入式系统专题前言
摘要:Abstract:PDF全文下载地址:http://jos.org.cn/jos/article/pdf/5947 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02扫地机器人增强位姿融合的Cartographer算法及系统实现
摘要:Cartographer是谷歌在2016年开源的一个可以在多传感器配置下实现低计算资源消耗的SLAM算法框架.针对原有Cartographer中位姿融合不准确、存在延迟的问题,首先设计了一种基于位姿增量的多传感器位姿融合方法;随后,针对扫地机器人Player平台,设计并实现了基于增强Carto ...中科院软件研究所 本站小编 Free考研考试 2022-01-02