當下互聯網行業飛速發展,快速的業務更新和產品迭代也給系統開發過程和模式帶來新的挑戰。圍繞來自團隊外部和內部的變化和挑戰,如何更爲合理的劃分系統和團隊邊界、如果更加有效的組織系統開發過程、如何通過技術手段識別和消除開發過程中存在的浪費成爲廣大軟件開發和技術管理人員所需要思考的命題。在這種背景下,微服務架構應運而生。想要實現微服務架構,需要明確微服務的設計原理和架構,也需要掌握相應的技術體系和實踐。關於前者,筆者已出版《微服務設計原理和架構》一書。本書主要面向後者,即圍繞微服務架構的實現技術給出相應的工具框架和工程實踐,旨在爲廣大開發人員提供對主流微服務架構實現技術的完整、全面和實用的介紹。
本書主要包含微服務架構實現過程中所應具備的技術體系和工程實踐,圍繞實現微服務架構的基礎組件和關鍵要素,引入Spring Boot、Spring Cloud、Docker等技術體系構建微服務體系。本書在組織結構上分爲如下所示的12章內容,並結合這些章節給出一個完整的實現案例。
- 微服務架構設計,簡要介紹微服務的建模方法、服務拆分和集成、基礎組件和關鍵要素以及實施方法。
- 使用Spring Boot構建服務,引入Spring Boot作爲單個微服務的實現框架。
- Spring Cloud Netflix Eureka與服務治理,引入Eureka實現服務註冊和發現。
- Spring Cloud Netflix Ribbon與負載均衡,引入Ribbon實現客戶端負載均衡。
- Spring Cloud Netflix Hystrix與服務容錯,引入Hystrix實現面向消費者的服務容錯。
- Spring Cloud Netflix Zuul與API網關,引入Zuul實現API網關。
- Spring Cloud Config與配置中心,引入Spring Cloud Config實現分佈式配置中心。
- Spring Cloud Stream與事件驅動,引入Spring Cloud Stream實現服務之間的消息傳遞。
- Spring Cloud Security與服務安全,引入Spring Cloud Security實現服務的安全訪問。
- Spring Cloud Sleuth與服務監控,引入Spring Cloud Sleuth實現服務的跟蹤和監控。
- Spring Test與服務測試,引入Spring Test實現多層次的服務測試。
- Docker與服務部署,引入Docker實現服務的高效部署。
本書面向立志於成爲微服務架構師的服務開發人員,讀者不需要有很深的技術水平,也不限於特定的開發語言,但熟悉Java EE常見技術並掌握一定系統設計基本概念有助於更好的理解書中的內容。通過本書的系統學習,讀者將對微服務架構的技術體系和實現機制有全面而深入的瞭解,爲後續的工作和學習鋪平道路。
更多內容可以關注我的公衆號:程序員向架構師轉型。