The advent of Industrial Internet of Things (IIoT) has imposed more stringent requirements on industrial software in terms of communication delay, scalability, and maintainability. Microservice architecture (MSA), a novel software architecture that has emerged from cloud computing and DevOps, presents itself as the most promising solution due to its independently deployable and loosely coupled nature. Currently, practitioners are inclined to migrate industrial legacy systems to MSA, despite numerous challenges it presents. In this paper, we propose an automated microservice decomposition method for extracting microservice candidates based on spectral graph theory to address the problems associated with manual extraction, which is time-consuming, labor intensive, and highly subjective. The method is divided into three steps. Firstly, static and dynamic analysis tools are employed to extract dependency information of the legacy system. Subsequently, information is transformed into a graph structure that captures inter-class structure and performance relationships in legacy systems. Finally, graph-based clustering algorithm is utilized to identify potential microservice candidates that conform to the principles of high cohesion and low coupling. Comparative experiments with state of-the-art methods demonstrate the significant advantages of our proposed method in terms of performance metrics. Moreover, Practice show that our method can yield favorable results even without the involvement of domain experts.
翻译:工业物联网(IIoT)的出现对工业软件在通信延迟、可扩展性和可维护性方面提出了更严格的要求。微服务架构(MSA)作为一种源自云计算和DevOps的新型软件架构,凭借其独立部署与松散耦合的特性,成为最具前景的解决方案。当前,尽管面临诸多挑战,实践者仍倾向于将工业遗留系统迁移至MSA。本文提出一种基于谱图理论的自动化微服务分解方法,用于提取候选微服务,以解决人工提取耗时、费力且主观性强的问题。该方法分为三个步骤:首先,利用静态和动态分析工具提取遗留系统的依赖信息;其次,将信息转化为能够捕获遗留系统类间结构与性能关系的图结构;最后,采用基于图的聚类算法识别符合高内聚低耦合原则的潜在微服务候选集。与最先进方法的对比实验表明,本文方法在性能指标上具有显著优势。此外,实践验证,即便无需领域专家参与,该方法仍能取得良好效果。