| 本文已被:浏览 3394次 下载 8230次 |
 码上扫一扫! |
|
|
| 一种优化的数据流驱动的微服务化拆分方法 |
|
李杉杉1,2, 荣国平1,2, 高邱雅1,2, 邵栋1,2
|
|
1.南京大学软件学院, 江苏 南京 210023;2.计算机软件新技术国家重点实验室(南京大学), 江苏 南京 210023
|
|
| 摘要: |
| 近年来,微服务架构已经成为软件工程领域比较流行的架构风格,其天然支持DevOps和持续交付以及可伸缩性、可扩展性好等特性,驱动着业界实践者纷纷向微服务架构迁移.然而,采用微服务架构也面临诸多挑战,其中最关键的是缺乏自动化、一体化的解决方案来高效支持面向微服务的拆分设计以及候选微服务架构的评估.为了应对该挑战,对已有的数据流驱动的微服务化拆分方法的局限问题(例如效率和灵活性)进行改进,在此基础上,提出了一种优化的微服务化拆分方法(DFD-A).该方法通过动、静态分析相结合的方式,实现了更加高效的数据流信息自动化收集,同时,采用两阶段的聚类算法来取代完全基于自定义规则的微服务化拆分算法.同时实现了原型工具来支持从数据收集分析、服务拆分到候选微服务架构评估的完整且自动化的过程.案例研究结果表明,该优化方法DFD-A及其原型工具在保证拆分结果有效性的基础上,可以更加高效、灵活地支持面向微服务的自动化拆分与评估. |
| 关键词: 微服务 DevOps 可伸缩 拆分 评估 数据流 |
| DOI:10.13328/j.cnki.jos.006233 |
| 分类号: |
| 基金项目:国家自然科学基金(62072227,61802173);国家重点研发计划(2019YFE0105500);江苏省政府间双边创新项目(BZ2020017);计算机软件新技术国家重点实验室(南京大学)创新项目(ZZKT2019B01) |
|
| Optimized Dataflow-driven Approach for Microservices-oriented Decomposition |
|
LI Shan-Shan1,2, RONG Guo-Ping1,2, GAO Qiu-Ya1,2, SHAO Dong1,2
|
|
1.Software Institute, Nanjing University, Nanjing 210023, China;2.State Key Laboratory for Novel Software Technology(Nanjing University), Nanjing 210023, China
|
| Abstract: |
| In recent years, microservices architecture (MSA) has become a prevalent architectural style in the field of software engineering. The natural characteristics of MSA, e.g., supporting DevOps andcontinuous delivery, scalability and extensibility, motivate practitioners to migrate their legacy systems to this new architectural style. However, the migration to MSA also causes many challenges, among which the most critical one is lacking an automated and integrated solution for the microservices-oriented decomposition and the evaluation of candidate microservices. To address this challenge, an optimized approach (DFD-A) is proposed through overcoming two limitations of an existing data flow-driven decomposition solution (DFD), i.e. efficiency and flexibility. The proposed DFD-A approach realizes the automatic data flow information collection through combining the dynamic and static analysis technology and identifies microservices using a more flexible two-phase clustering algorithm. A prototype tool is also implemented to automatically support the whole process of the data collection, the decomposition, and even the evaluation of microservice candidates using some typical metrics. The results of a case study demonstrate the effectiveness, efficiency, and flexibility of the proposed DFD-A method for microservices-oriented decomposition and evaluation. |
| Key words: microservice DevOps scalability decomposition evaluation data flow |