摘要
近年来,微服务架构已经成为软件工程领域比较流行的架构风格,其天然支持DevOps和持续交付以及可伸缩性、可扩展性好等特性,驱动着业界实践者纷纷向微服务架构迁移.然而,采用微服务架构也面临诸多挑战,其中最关键的是缺乏自动化、一体化的解决方案来高效支持面向微服务的拆分设计以及候选微服务架构的评估.为了应对该挑战,对已有的数据流驱动的微服务化拆分方法的局限问题(例如效率和灵活性)进行改进,在此基础上,提出了一种优化的微服务化拆分方法(DFD-A).该方法通过动、静态分析相结合的方式,实现了更加高效的数据流信息自动化收集,同时,采用两阶段的聚类算法来取代完全基于自定义规则的微服务化拆分算法.同时实现了原型工具来支持从数据收集分析、服务拆分到候选微服务架构评估的完整且自动化的过程.案例研究结果表明,该优化方法 DFD-A及其原型工具在保证拆分结果有效性的基础上,可以更加高效、灵活地支持面向微服务的自动化拆分与评估.
-
单位南京大学; 计算机软件新技术国家重点实验室