跳到主要內容

臺灣博碩士論文加值系統

(216.73.216.41) 您好!臺灣時間:2026/01/13 20:58
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

: 
twitterline
研究生:呂增崇
研究生(外文):LU, TSENG-CHUNG
論文名稱:基於Spring Cloud之微服務軟體系統開發 - 以Meeting Scheduler為例
論文名稱(外文):Developing a Microservice Software System with Spring Cloud - A Case Study of Meeting Scheduler
指導教授:李文廷李文廷引用關係
指導教授(外文):LEE, WEN-TIN
口試委員:李文廷余遠澤馬尚彬
口試委員(外文):LEE, WEN-TINYU, YUAN-TSEMA, SHANG-PIN
口試日期:2019-07-22
學位類別:碩士
校院名稱:國立高雄師範大學
系所名稱:軟體工程與管理學系
學門:電算機學門
學類:軟體發展學類
論文種類:學術論文
論文出版年:2019
畢業學年度:107
語文別:中文
論文頁數:55
中文關鍵詞:微服務物件導向軟體開發單體式架構微服務架構
外文關鍵詞:microservicesobject-oriented software developmentmonolithic architecturemicroservices architectureSpring Cloud
相關次數:
  • 被引用被引用:1
  • 點閱點閱:522
  • 評分評分:
  • 下載下載:109
  • 收藏至我的研究室書目清單書目收藏:0
傳統單體式架構是將應用程式功能模組元件化,並執行在同一個服務端口。隨著增加需求,使得模組間耦合關係更為依賴緊密,對於功能的擴充缺乏彈性,維護不易。當有程式變更時,都必須重新打包部署整個應用系統,系統內的模組也受影響。微服務系統架構將單一應用程式劃分成若干個獨立執行的服務。每個服務都有各自的業務邏輯,服務間利用Rest API彼此通訊溝通,也具備獨立更新、獨立部署的特性,從而使服務的擴充性及維護性得到改善。
本研究根據傳統單體系統的物件導向軟體開發流程,分析、設計並開發Meeting Scheduler單體系統模型。進一步使用Spring Cloud實作所需之微服務,並部署成微服務架構的Meeting Scheduler系統。最後,本研究探討微服務系統的開發經驗及結果建立微服務開發流程,可供軟體工程師分析、設計、實作及部署基於微服務之軟體系統。
The traditional monolithic architecture is to componentize the function modules of the application and execute them on the same service port. With the increase of requirements, the coupling relations between modules become more and more complicated, resulting in inflexible function expansion and difficult maintenance. When there is a program change, the entire application system must be repackaged and deployed. Microservices architecture divides a single application into several independent executed services. Each service has its own business logic. The services communicate with each other using the REST API. The scalability and maintainability of the system are improved by features such as independent update and independent deployment.
This study implements a Meeting Scheduler monolithic software system using traditional object-oriented software development process. Further, we use Spring Cloud to implement the required microservices and deploy them in the Meeting Scheduler. Finally, this study explores the development experience of microservices software systems and establishes a microservices development process for software engineers to analyze, design, implement and deploy a software system based on microservices.

誌謝 I
摘要 II
Abstract III
目錄 IV
表次 VI
圖次 VI
第一章 緒論 1
1-1研究目的 2
1-2論文架構 2
第二章 文獻探討 2
2-1服務導向架構 2
2-1-1 SOA設計原則 3
2-1-2 SOA和Web服務協議 4
2-2微服務架構 5
2-3 Docker與微服務 8
第三章 研究環境與開發工具 9
3-1研究環境 9
3-1-1 Spring Boot開發環境介紹 9
3-1-2 Spring Cloud開發環境介紹 10
3-2容器部署工具Docker 12
第四章 研究方法 14
4-1傳統的分析設計 15
4-1-1系統架構 16
4-1-2系統分析 17
4-1-3系統設計 25
4-2微服務的軟體開發流程 36
4-2-1服務塑模 37
4-2-2服務架構設計 41
4-2-3服務實現 42
4-2-4服務部署 46
第五章 系統實作及案例探討 47
5-1系統實作 47
5-2案例探討 52
第六章 總結 54
參考文獻 55


表次
表1 會議功能模組 17
表2 員工功能模組 18
表3 驗證功能模組 18
表4 會議排程功能模組 19
表5 介面需求分析 19
表6 員工使用案例 21
表7 會議使用案例說明 22
表8 員工基本資料 34
表9 會議排程資料 35
表10 會議參與資料 35
表11 部門資料 36
表12 會議室資料 36
表13 服務介面設計 39

圖次
圖1 Docker架構圖 12
圖2 單體系統架構圖 16
圖3 員工使用案例 21
圖4 會議使用案例 22
圖5 員工維護活動圖 23
圖6 發起會議活動圖 24
圖7 受邀參與活動圖 24
圖8 會議排程活動圖 25
圖9 員工登入循序圖 26
圖10 員工維護循序圖 26
圖11 發起會議循序圖 27
圖12 受邀參與循序圖 28
圖13 會議排程循序圖 28
圖14 登入驗證類別圖 29
圖15 員工維護類別圖 30
圖16 發起會議類別圖 30
圖17 受邀參與類別 31
圖18 會議排程類別圖 32
圖19 員工資料表關連 32
圖20 發起會議資料表關連 33
圖21 受邀參與資料表關連 33
圖22 微服務開發流程圖 37
圖23 服務邊界圖 38
圖24 微服務架構圖 41
圖25 Eureka註冊中心組態 42
圖26 Eureka註冊中心服務啟動 43
圖27 Config配置中心組態 43
圖28 Git Repository配置文件 44
圖29 Config配置中心服務啟動 44
圖30 Api Gateway服務啟動 45
圖31 Api Gateway服務配置 45
圖32 自定服務啟動 46
圖33 員工登入 47
圖34 員工資料列表 48
圖35 員工資料維護 48
圖36 發起會議列表 49
圖37 發起會議維護 50
圖38 參與會議列表 50
圖39 參與會議維護 51
圖40 會議排程統計列表 51
圖41 微服務架構轉型流程圖 53

[1] Thomas Erl, Service-oriented Architecture: Concepts, Technology, and Design, Prentice Hall, 12 August 2005.
[2] D. Jordan, J. Evdemon, A. Alves, A. Arkin, S. Askary, C. Barreto, B. Bloch, F. Curbera, M. Ford,and Y. Goland, "Web services business process execution language version 2.0, " OASIS standard, vol.11, no. 120, p. 5, 2007.
[3] Thomas Erl, Practices from: SOA Principles of Service Design, Prentice Hall, July 2007.
[4] David Artus, "SOA實現:服務設計原則," 3 July 2006. [Online].
https://www.ibm.com/developerworks/cn/webservices/ws-soa-design/.
[5] David Booth, Hugo Haas, Francis McCabe, Eric Newcomer, Michael Champion, Chris Ferris, David Orchard, "Web Services Architecture", W3C, 11 February 2004.
[6] Thomas Erl, Service-oriented Architecture: A Field Guide to and Integrating XML and Web Services[M], Prentice Hall, 26 April 2004
[7] Martin. Fowler&James Lewis , "MicroServices," 25 March 2016. [Online].https://www.martinfowler.com/articles/microservices.html.
[8] "Docker document," [Online]. https://docs.docker.com/.
[9] "Spring Framework Documentation Version: 5.1.6.RELEASE," [Online].https://docs.spring.io/spring/docs/current/spring-framework-reference/.
[10] "Spring Boot Reference Version: 2.1.1.RELEASE," [Online].https://www.docs4dev.com/docs/en/spring-boot/2.1.1.RELEASE/reference.
[11] "Spring Cloud Reference Version: Greenwich.RELEASE," [Online]. https://www.docs4dev.com/docs/en/spring-cloud/Greenwich.RELEASE/reference.
[12] "Spring Cloud Reference Version: Greenwich.RELEASE," [Online]. http://projects.spring.io/spring-cloud/.
[13] Eric Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software, Addison-Wesley Professional, Aug 2003.
[14] Sean P. Kane, Karl Matthias, Docker: Up & Running : Shipping Reliable Containers in Production, O'Reilly Media, Oct 2018.
[15] Sam Newmain, Building Microservices: Designing Fine-Grained Systems, Oreilly & Associates Inc, Feb 2015.

QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top