近年來,由於微服務架構的模組化設計、去中心化管理、獨立部署以及明確的邊界等特性,它已成為構建大型、複雜應用程序的流行選擇。然而,從單體服務架構轉換為微服務架構需要大量的人力和時間。因此,自動化構建微服務可以大大節省這方面的開銷。要成功地將單體服務架構拆分為定義明確的微服務架構,必須清晰地界定微服務之間的邊界,以符合微服務的設計初衷。此外,許多人在網絡上分享和開源自己的專案,這些大量的開源專案對我們來說是寶貴的資料來源。因此,本論文將著重於拆解網絡上開源的單體服務架構專案,並根據服務性質將其重新組裝成多個微服務。
In recent years, due to the modular design, decentralized management, independent deployment, and clear boundaries of microservices architecture, it has become a popular choice for building large and complex applications. However, transitioning from a monolithic architecture to a microservices architecture requires a significant amount of manpower and time. Therefore, automating the construction of microservices can greatly reduce these costs. To successfully split a monolithic architecture into well-defined microservices, it is essential to clearly define the boundaries between the services to align with the original design principles of microservices. Moreover, many people share and open source their projects on the internet, providing a valuable resource for us. Therefore, this thesis will focus on deconstructing open-source monolithic projects found online and reassembling them into multiple microservices based on the nature of their services.