你離 精通微服務 只差一個阿里資深架構師整理的微服務實戰文檔

前言

什麼是微服務

在介紹微服務時,首先得先理解什麼是微服務,顧名思義,微服務得從兩個方面去理解,什麼是"微"、什麼是"服務",

微,狹義來講就是體積小、著名的"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全鏈路追蹤系統的實現,最後介紹了持續集成與持續部署系統的實現,這一部分是開發運維部分。
你離 精通微服務 只差一個阿里資深架構師整理的微服務實戰文檔

總目錄

你離 精通微服務 只差一個阿里資深架構師整理的微服務實戰文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章