- 川哥教你Spring Boot 2實戰
- 李世川編著
- 821字
- 2024-12-27 21:15:24
1.1 微服務介紹
當前,微服務比較熱門,很多企業都開始從傳統開發模式轉向微服務模式開發。微服務可理解為將一些需要實現的較小功能集采用獨立應用模式,以避免代碼量過大和耦合度過高等問題,也即分而自治。傳統開發模式,開發人員比較熟悉的是MVC開發模式,為了實現一個較小功能,需要整合一個很大的代碼庫,給后期維護同樣帶來很大不便。
在這樣一種情況下,業界提出了微服務概念。微服務重在輕,能實現快速開發、測試和部署。這樣,一個業務系統可以實現快速迭代,縮短周期。一般認為,微服務具有以下優點:
· 縮短生產時間;
· 較小配置;
· 易于部署;
· 簡單的可擴展性;
· 與容器兼容。
下面是一個介紹微服務和傳統開發架構的對比案例,一個打車軟件的功能模塊劃分簡單描述如圖1.1所示。
這樣的功能劃分對于開發人員來說不難理解,但是不管怎樣,比如采用SOA架構、MVC模式等進行開發,最終該軟件將打包成一個單體應用系統并被部署,那么,開發單體應用系統,這種模式比較適合于小項目,其優點是:

圖1.1 打車軟件功能模塊
· 集中式開發與管理;
· 代碼復雜度不高;
· 模塊間耦合度高;
· 部署簡單。
這種開發模式比較適合于傳統經典、小項目,業務模塊能提前確定,開發周期較長,那么其缺點為:
· 開發維護難:由于代碼耦合度較高,新入職員工學習成本高;
· 部署靈活差:由于是單體應用,每次更改哪怕一小段代碼都需要重構,給部署帶來一定復雜性,并且這個過程會比較長;
· 穩定性較差:單體應用系統可能會由于一個小的問題而崩潰;
· 開發協作差:如果由一個團隊來進行開發,團隊成員間改動代碼,會造成溝通復雜,代碼產生沖突可能性更高。
如果采用微服務架構,以上打車軟件功能模塊描述如圖1.2所示。
可以將打車業務進一步細分為各個更小的微服務,服務間采用REST通信,其優點在此不再贅述。
本書介紹的Spring Boot就是微服務架構的一種實現,其可以大大簡化開發模式,集成很多常用框架。為了對比Spring Boot開發快捷性,將和Spring開發進行簡單對比,然后在后面各章節詳細介紹Spring Boot實現。

圖1.2 微服務架構示例
- Learn ECMAScript(Second Edition)
- 深入理解Bootstrap
- Boost C++ Application Development Cookbook(Second Edition)
- Mastering Entity Framework
- PostgreSQL技術內幕:事務處理深度探索
- Python機器學習編程與實戰
- ArcGIS By Example
- 批調度與網絡問題的組合算法
- RealSenseTM互動開發實戰
- Principles of Strategic Data Science
- uni-app跨平臺開發與應用從入門到實踐
- 從程序員角度學習數據庫技術(藍橋杯軟件大賽培訓教材-Java方向)
- Emotional Intelligence for IT Professionals
- SFML Game Development
- SQL Server 2014 Development Essentials