近年來,微服務架構漸趨流行,其有效改善大型系統的可擴展性和可維護性之特性,使得許多企業與機關將其資訊系統從單體式架構重構成微服務架構。然而,如何將單體式架構進行切分才能獲得最好的切割結果爭論已久,由於其牽扯的層面廣且複雜因此目前尚未有定論,究其根本原因,皆是沒有清楚定義微服務。因此,本篇論文對微服務的架構進行了定義,根據此定義我們提出以解構耦合的方式,藉由分析開源程式中元素的依賴相關性對單體式架構進行切割,自動化地產出微服務。另外我們也依據此架構產出了描述微服務的文件,藉由此文件我們將使用者的需求來做到微服務的需求匹配。
In recent years, microservice architecture has gained popularity due to its ability to significantly improve the extensibility and maintainability of large-scale systems. This has led many enterprises and departments to refactor their information systems from monolithic architecture to microservice architecture. However, achieving the best decomposition of monolithic architecture remains a topic of debate, as it involves various complex aspects. One of the root causes is the lack of a clear definition of Microservice and its internal structure. In this research, we aim to address this gap by defining the Microservice structure. Building upon this definition, we propose a decoupling methodology to separate the monolithic architecture into microservices based on the dependencies between program elements in open-source projects, and we automate the process of generating the microservices. Furthermore, we introduce the Microservice description based on the proposed architecture. This description allows us to perform matchmaking between the microservices and the user’s requirements, facilitating a more efficient and precise service integration process.