您好,登錄后才能下訂單哦!
什么是微服務
在介紹微服務時,首先得先理解什么是微服務,顧名思義,微服務得從兩個方面去理解,什么是"微"、什么是"服務",
微,狹義來講就是體積小、著名的"2 pizza 團隊"很好的詮釋了這一解釋(2 pizza 團隊最早是亞馬遜 CEO Bezos提出來的,意思是說單個服務的設計,所有參與人從設計、開發、測試、運維所有人加起來 只需要2個披薩就夠了 )。 而所謂服務,一定要區別于系統,服務一個或者一組相對較小且獨立的功能單元,是用戶可以感知最小功能集。
為什么需要微服務?
在傳統的IT行業軟件大多都是各種獨立系統的堆砌,這些系統的問題總結來說就是擴展性差,可靠性不高,維護成本高。到后面引入了SOA服務化,但是,由于 SOA 早期均使用了總線模式,這種總線模式是與某種技術棧強綁定的,比如:J2EE。這導致很多企業的遺留系統很難對接,切換時間太長,成本太高,新系統穩定性的收斂也需要一些時間。最終 SOA 看起來很美,但卻成為了企業級奢侈品,中小公司都望而生畏。
而微服務,從本質意義上看,還是 SOA 架構。但內涵有所不同,微服務并不綁定某種特殊的技術,在一個微服務的系統中,可以有 Java 編寫的服務,也可以有 Python編寫的服務,他們是靠Restful架構風格統一成一個系統的。所以微服務本身與具體技術實現無關,擴展性強。
微服務的本質
微服務,關鍵其實不僅僅是微服務本身,而是系統要提供一套基礎的架構,這種架構使得微服務可以獨立的部署、運行、升級,不僅如此,這個系統架構還讓微服務與微服務之間在結構上“松耦合”,而在功能上則表現為一個統一的整體。這種所謂的“統一的整體”表現出來的是統一風格的界面,統一的權限管理,統一的安全策略,統一的上線過程,統一的日志和審計方法,統一的調度方式,統一的訪問入口等等。
微服務的目的是有效的拆分應用,實現敏捷開發和部署 。
微服務提倡的理念團隊間應該是 inter-operate, not integrate 。inter-operate是定義好系統的邊界和接口,在一個團隊內全棧,讓團隊自治,原因就是因為如果團隊按照這樣的方式組建,將溝通的成本維持在系統內部,每個子系統就會更加內聚,彼此的依賴耦合能變弱,跨系統的溝通成本也就能降低。
第一部分 基礎框架篇
基礎框架篇從微服務架構的基本概念與技術選型出發,詳細介紹了微服務基礎框架Spring Boot、自動化API文檔生成工具Swagger、動態數據源和緩存系統,并深入分析了Spring Boot啟動過程的核心源碼,這一部分是整本書的基礎;
第二部分 服務框架篇
服務框架篇詳細介紹了服務注冊與發現框架Consul、熱配置管理框架Archaius、服務降級容錯框架Hystrix,以及服務通信框架OkHttp、AsyncHttpClient和Retrofit,這一部分是整本書的核心;
第三部分 監控部署篇
監控部署篇詳細介紹了ELK日志系統的實現、Zipkin全鏈路追蹤系統的實現,最后介紹了持續集成與持續部署系統的實現,這一部分是開發運維部分。
總目錄
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。