官术网_书友最值得收藏!

1.1 微服務介紹

當前,微服務比較熱門,很多企業都開始從傳統開發模式轉向微服務模式開發。微服務可理解為將一些需要實現的較小功能集采用獨立應用模式,以避免代碼量過大和耦合度過高等問題,也即分而自治。傳統開發模式,開發人員比較熟悉的是MVC開發模式,為了實現一個較小功能,需要整合一個很大的代碼庫,給后期維護同樣帶來很大不便。

在這樣一種情況下,業界提出了微服務概念。微服務重在輕,能實現快速開發、測試和部署。這樣,一個業務系統可以實現快速迭代,縮短周期。一般認為,微服務具有以下優點:

· 縮短生產時間;

· 較小配置;

· 易于部署;

· 簡單的可擴展性;

· 與容器兼容。

下面是一個介紹微服務和傳統開發架構的對比案例,一個打車軟件的功能模塊劃分簡單描述如圖1.1所示。

這樣的功能劃分對于開發人員來說不難理解,但是不管怎樣,比如采用SOA架構、MVC模式等進行開發,最終該軟件將打包成一個單體應用系統并被部署,那么,開發單體應用系統,這種模式比較適合于小項目,其優點是:

圖1.1 打車軟件功能模塊

· 集中式開發與管理;

· 代碼復雜度不高;

· 模塊間耦合度高;

· 部署簡單。

這種開發模式比較適合于傳統經典、小項目,業務模塊能提前確定,開發周期較長,那么其缺點為:

· 開發維護難:由于代碼耦合度較高,新入職員工學習成本高;

· 部署靈活差:由于是單體應用,每次更改哪怕一小段代碼都需要重構,給部署帶來一定復雜性,并且這個過程會比較長;

· 穩定性較差:單體應用系統可能會由于一個小的問題而崩潰;

· 開發協作差:如果由一個團隊來進行開發,團隊成員間改動代碼,會造成溝通復雜,代碼產生沖突可能性更高。

如果采用微服務架構,以上打車軟件功能模塊描述如圖1.2所示。

可以將打車業務進一步細分為各個更小的微服務,服務間采用REST通信,其優點在此不再贅述。

本書介紹的Spring Boot就是微服務架構的一種實現,其可以大大簡化開發模式,集成很多常用框架。為了對比Spring Boot開發快捷性,將和Spring開發進行簡單對比,然后在后面各章節詳細介紹Spring Boot實現。

圖1.2 微服務架構示例

主站蜘蛛池模板: 伊金霍洛旗| 扶风县| 弥渡县| 济宁市| 即墨市| 商南县| 珠海市| 郴州市| 兴文县| 成都市| 东乌| 双鸭山市| 青河县| 会东县| 潍坊市| 万盛区| 冀州市| 山阳县| 平阴县| 庆安县| 正安县| 东宁县| 长顺县| 富顺县| 益阳市| 五原县| 封开县| 霸州市| 乌海市| 鹰潭市| 镇沅| 英吉沙县| 道真| 景德镇市| 宜兰县| 公主岭市| 安义县| 周至县| 旅游| 邮箱| 通道|