送書!5 本!這本書讓我秒懂了微服務架構

通過採用微服務架構,企業最大的收益是幫助內部IT建設沿着可演進的方向發展、支持靈活擴展、降低運維成本、快速響應業務變化。

這些底層技術能力的提升讓業務更加敏捷、成本可控,企業也可以從中獲得技術紅利和市場的競爭優勢。

那麼有什麼方法可以讓我們在較短的時間內掌握並且能夠遊刃有餘地發揮微服務帶給我們的開發成效呢?

看書顯然是一條捷徑,有人給你整理好,並且成本非常低。

目前市面上不乏介紹各種微服務開發框架和技術實踐的書籍,也有專注於微服務理論知識的講解,但總覺得看了不解渴。

因此,王佩華老師希望通過理論與實踐結合,層次分明、由淺入深地將微服務架構梳理清楚,並呈現給不同學習階段的人羣。

於是,微服務架構深度解析:原理、實踐與進階誕生了!

本書的主要特色

  • 平衡了微服務的理論與實踐工程

  • 微服務架構技術棧全面覆蓋

  • 生命週期完整的軟件工程歷程介紹

  • Spring Boot框架及Spring Cloud核心組件的源碼解析

  • 互聯網開源項目成功落地及大廠推廣經驗

  • 響應式微服務編程範式升級進階 

本書內容劇透

理論篇,可以帶領新人快速入門微服務架構。

實踐篇,可以讓實際的開發者深入Spring Boot和Spring Cloud源碼,解決實際工作中的問題,掌握分佈式系統構建的經驗。

進階篇,響應式編程和雲原生架構是高階人羣重點關注領域和技術趨勢。

通過這樣漸進式的講解和梳理,搭建一個微服務架構師所需要具備的完整架構體系和知識技能框架。


▊ 微服務架構理論

雖然微服務的發展已經相對成熟,但是依然有很多開發人員或管理者對微服務的概念及理論存在理解上的誤區。

典型的理解誤區是將某種技術框架或者編程風格與微服務相混淆;此外,還有將容器技術等同於微服務架構的誤解。

  • 針對上述問題,本書系統性地介紹了微服務概念的背景來源、不同版本定義及“最佳實踐”集合的微服務特徵介紹。

  • 在“架構設計哲學”一節中,本書將微服務架構與UNIX設計哲學進行了創新性的概念比對和關聯,可以更加深刻地理解微服務架構的理論內涵。

  • 在“微服務與雲原生”一節中,本書總結了微服務與雲原生架構的關係,以及雲原生成熟度的分層等級,從中擴展了微服務架構的概念外延。

  • 此外,採用微服務架構需要有一定的使用場景和約束條件,如果不加思索地在項目中使用微服務,將緊耦合的模塊強行拆分,反而化簡爲繁,增加了系統的複雜度和團隊的運維負擔。

    爲此,書中列舉了多種微服務使用場景,以及微服務架構的採用前提。另外,通過揭示組織結構、研發流程與技術之間隱含的隱射關係,我們可以更深入地瞭解他們對微服務架構產生的影響。相信通過這些內容的介紹可以快速幫助工程師做出決策,避免陷入困境。

▊ 使用微服務構建業務應用

微服務架構快速發展的一個主要驅動力來自業務應用的規模增長,以及對業務複雜性的有效控制。

相比傳統的單體架構,微服務架構強調將業務應用與底層的非功能需求、第三方軟件進行最大化的剝離,使應用服務聚焦在業務核心邏輯處理上,而不是將精力耗費在非業務功能上。

  • 傳統的單體架構在微服務化轉型過程中,面臨服務拆分以及服務複用,服務之間接縫設計等衆多問題,在“微服務構建”一章中,我們針對業務開發人員關心的微服務模塊劃分、業務領域建模、服務如何擴展等問題通過實際項目案例進行詳盡解析。

  • 領域驅動設計的核心概念”一節,講解了如何使用領域模型將產品需求與代碼實現進行映射關聯,如何將業務中容易變化的元素與核心業務邏輯進行解耦。

  • 通過“業務運營監控項目”實際案例,從理解問題域、整理需求文檔、提煉問題域、挖掘隱藏的核心領域模型、服務拆分、定義界限上下文、領域建模等步驟進行闡述,通過一系列的慢動作拆解,讓你可以清晰瞭解整個微服務構建的設計過程。

  • 微服務化改造”一節對微服務改造的時機、常見的技術債務、微服務改造模式進行了全面的總結。

  • 微服務構建進階”一節從更宏觀的軟件構建視角切入總結微服務構建的最佳實踐。通過總結若干架構原則,作爲指導系統設計和編程的開發約束,使得系統構建不會出現大的偏差。

▊ 微服務架構之Spring Cloud技術生態

傳統的單體架構基於Tomcat中間件或者J2EE模型,很多都是建立在IDC機房和小型機基礎之上的,這種臃腫的架構已經無法滿足互聯網公司快速增長的業務規模,同時隨着雲計算時代的到來,過去應用部署的打包方式和運行方式都難以支撐快速的業務迭代。

  • 在“腳手架”一章中,通過源碼詳解一步步帶你瞭解Spring Boot以註解爲核心的“約定大於設計”的設計理念、強大的自動裝配機制、Spring Boot啓動以及擴展點設計的詳細流程。

  • Spring Boot常用的Starter、如何實現自定義Starter、生產就緒特性、安全管理機制、Spring Boot 嵌入式Web容器的啓動原理都將逐一詳解。

  • Spring Cloud作爲開源社區最爲完整的微服務架構開發者平臺,爲開發人員提供了分佈式系統需要的註冊中心、配置中心、斷路器、負載均衡等關鍵組件和微服務治理核心能力。本書通過對這些組件的原理介紹、使用案例、源碼分析,帶領開發者逐步掌握構建微服務架構的核心治理組件。

  • Spring Cloud技術生態主要解決的是微服務架構的服務治理技術複雜性問題。社區通過提供一系列開源工具和框架解決微服務架構面臨的網絡動態性、高可用、高併發流量控制、彈性、容錯性等等問題。而這些分佈式組件在開發中所經常遇到的核心知識點和難點,以及如何擴展開發都將在書中爲大家分析解答。相信對於類似的微服務技術或組件也能觸類旁通,舉一反三。

微服務與分佈式中間件

微服務化架構給系統在軟件工程代碼結構、應用交互方式、數據存儲模式上都帶來了極大的變化。

單體獨立進程下CPU的控制邏輯和模塊之間耦合、隔離問題需要向分佈式系統下的I/O傳輸控制進行復雜性轉移。

這裏就面臨如何使用合理的分佈式中間件進行系統的集成、ORM數據存儲等解決方案。

  • 系統集成”一章體系化地梳理了影響微服務與微服務之間交互集成效率的三個主要因素:網絡協議、I/O模式以及序列化方式。

  • Rest服務集成”一節詳細地講解了REST成熟度模型以及REST的重要核心概念,介紹了Restful架構與HTTP協議關係以及Swagger接口文檔規範,還講解了Feign、JAX-RS等主流分佈式框架源碼解析及原理分析。

  • RPC遠程過程調用”一節詳細帶你瞭解主流的RPC框架,包含Dubbo分佈式框架的RPC調用過程、源碼跟蹤以及SPI機制分析,還有Spring Cloud集成gRPC及gRP遠程調用源碼分析。

  • 在“MOM消息隊列”一節,對Spring Cloud Stream分佈式消息處理框架,基於透明的消息驅動模式,進行了深入的源碼分析與解析。此外,還對Kafka、RabbitMQ的應用場景和特性進行了介紹,並通過案例介紹如何使用SCS框架進行事件驅動的架構模型開發。

  • 在微服務與存儲之間,介紹了微服務框架經常使用Spring Data框架,以及微服務架構下分佈式事務一致性的常見解決方案。

  • 需要說明的是這些分佈式中間件在我們的微服務架構體系中依然還是有侵入性的問題,隨着雲原生架構的普及,這些中間件正在逐步下沉到網格層,並逐漸與業務進程分離,目標是成爲語言無關的普惠技術,正如現在有一些消息服務中間件已經脫離了本地代碼包的依賴,這將是一個微服務架構發展的趨勢,越來越多業務應用也將從中受益,變得更加靈活、輕便。

▊ 微服務的Devops方法論 

Devops的目標小步快跑,使快速迭代、頻繁發佈、開發運維一體化。

對於由數十人合作集成開發的項目,協作過程是一件困難的事情,系統順暢的持續集成、持續發佈需要一個規範化和流程化工具以可視化的方式完成自動化交付並形成閉環。

  • 在”微服務交付”一章中,我們詳細地介紹了“容器”作爲微服務化的一個標準交付單元,如何將應用以及應用依賴的環境打包,使得部署交付不再受到環境限制。通過Docker構建部署交付過程的詳細解析,掌握容器帶給我們快速交付的技能。

  • 在“服務監控治理”一章中,我們通過對監控系統的原理進行介紹和對監控進行分類,體系化地掌握監控系統的指標類、日誌類、調用鏈類三種監控治理手段和常用的技術棧。

  • 在“指標型數據監控”一節,對於喜歡Java底層字節碼攔截技術的開發者可以學習到JavaAgent技術、JVM的instrument機制以及Javaassist框架等技術。你可以將這些技術快速地應用到實際的業務和應用場景中去。

擁抱響應式編程和雲原生

在微服務開發領域,Spring5集成Reactor響應式框架爲Java開發者帶來了編程模型和編程範式的革命性的技術,從Spring Boot2到Spring Cloud生態體系,面向函數式編程以及使用響應式框架可以應對快速響應、擴展性、易於維護等方面的業務。

  • 在“響應式編程”一節,書中通過實際的Bench Mark分析,詳細地解釋了響應式編程的動機,分析在用戶激增場景下,系統內部的結構性瓶頸限制對系統的可伸縮性的影響。

  • 在“響應式技術框架”一節, 書中詳細介紹了目前主流的響應式框架技術,包含JDK9中響應式框架標準以及Flow API、RxJava響應式框架、Spring技術生態下的Reactor框架、VertX響應式框架。

  • 書中對Spring Boot 2.x響應式編程框架的核心組件、Spring WebFlux框架的源碼解析以及原理進行了介紹,同時比較了Spring MVC框架與Spring WebFlux的差異以及優劣勢。對Spring Cloud Gateway項目介紹了核心概念、工作原理、源碼分析,並基於Spring Cloud Gateway源碼實現了動態路由功能的二次開發以及代碼講解。

  • Kubernetes已近成爲容器編排的事實標準,併成爲微服務應用的最佳部署管理平臺。從微服務生態的角度,相比Spring Cloud,Kubernetes擁有更加完整的、技術棧多樣性支撐生態,提供更加廣泛的微服務組件和基礎設施能力。本書重點介紹了Kubernetes的微服務化設計理念以及與Spring Cloud生態融合的項目。

  • 微服務的發展趨勢”一節對雲原生架構進行了詳盡的闡述,並介紹了Java在雲原生架構下的應用優化策略,以及Service Mesh和Serveless技術的發展趨勢。

業界專家力薦



▊《微服務架構深度解析:原理、實踐與進階

王佩華 著


  • 十多年經驗集大成

  • 從分佈式到微服務,從SpringBoot到SpringCloud各組件,從Docker到Kubernetes,從領域驅動設計到響應式編程和雲原生

本書從微服務架構的設計理念和方法論切入,從不同角度全面介紹微服務特性、使用場景、組織流程、構建交互、部署交付等軟件工程各個關鍵環節和核心要素,既包含了具體微服務技術的源碼解讀、原理分析,也加入了作者在電信、金融領域積累的真實案例和實踐經驗。

本書不僅適合初學者深入理解微服務架構,也可以作爲團隊管理者或者架構師進階微服務架構的技術參考手冊。



   
   
   

贈書活動

關注公衆帳號雲原生實驗室,後臺回覆:微服務 獲取抽獎入口

👆關注公衆號,回覆 微服務 即可參與

本次將隨機抽取5位,每人獲得《微服務架構深度解析》書籍一本,感謝電子工業出版社提供的書籍

活動截止時間:8月10日18:00

沒抽中的小夥伴也可以通過如下入口直接購買~

本文分享自微信公衆號 - 雲原生實驗室(cloud_native_yang)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

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