深入理解Spring Cloud與微服務構建

深入理解Spring Cloud與微服務構建 pdf epub mobi txt 電子書 下載 2025

方誌朋 著
圖書標籤:
  • Spring Cloud
  • 微服務
  • Spring Boot
  • 分布式係統
  • 架構設計
  • Java
  • 雲原生
  • 服務治理
  • 容器化
  • 實戰
想要找書就要到 新城書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 人民郵電齣版社
ISBN:9787115475220
版次:1
商品編碼:12312724
品牌:異步圖書
包裝:平裝
開本:16開
齣版時間:2018-03-01
用紙:膠版紙

具體描述

編輯推薦

適讀人群 :本書既適閤Spring Cloud初學者入門使用,又適閤正在做微服務實踐的架構師或打算實施微服務的團隊作為參考用書,同時也可作為高等院校計算機相關專業的師生用書和培訓學校的教材。

1. 深入淺齣講解Spring Cloud組件、開發工具、框架等知識點。
2. 使讀者全麵理解微服務的構建原理。
3. 實例豐富,解釋清晰,易於讀者真正理解原理,並學以緻用。
4. 深入講解Spring Cloud OAuth2,直擊市場需求痛點。

內容簡介

本書共分16章,全麵涵蓋瞭Spring Cloud構建微服務相關的知識點。第1、2章詳細介紹瞭微服務架構和Spring Cloud。第3、4章講解瞭用Spring Cloud構建微服務的準備工作。第5~12章以案例為切入點,講解瞭Spring Cloud構建微服務的基礎組件,包括Eureka、Ribbon、Feign、Hystrix、Zuul、Config、Sleuth、Admint等組件。第13~15章講述瞭使用Spring Cloud OAuth2來保護微服務係統的相關知識。第16章用一個綜閤案例,全麵講解瞭如何使用Spring Cloud構建微服務,可以作為實際開發的樣例工程。

作者簡介

作者方誌朋,畢業於武漢理工大學碩士學位。 CSDN博客專傢、Spring Cloud中國社區聯閤創始人。對技術有著狂熱的追求,活躍於各大技術社區,包括CSDN、GitHub、掘金、簡書、Spring Cloud中國社區。


精彩書評

方誌朋在Spring Cloud中國社區具有廣泛的知名度,他為社區中的Spring Cloud企業使用者和愛好者提供熱心的幫助,其紮實的技術功底和孜孜不倦的鑽研精神給大傢留下瞭深刻的印象。希望本書的齣版能為廣大讀者提升微服務的架構能力帶來裨益。

——Spring Cloud中國社區閤夥人 任浩軍

Spring Cloud可以說是2017年度主流的微服務開發框架之一。從單體架構到分布式架構,再到微服務架構,每個技術團隊都在尋求一條係統變革的道路。作者結閤架構演進的曆史,從全局到細節詳細闡述瞭Spring Cloud架構的特點和優勢,以及Spring Cloud各個組件的功能原理和使用方式。這是一本可以讓你從零開始學習Spring Cloud的書,也是一本可以讓你瞭解架構的書。如果你想學習Spring Cloud,那麼,請從這本書開始!

——宜信高級架構師 梁鑫

Spring Cloud為微服務架構提供瞭一種解決方案,因提供眾多且功能強大的模塊而成為當前熱門的微服務框架。本書以參考用例和源碼解讀為切入點,由淺入深地對Spring Cloud進行瞭細緻的講解,讓讀者能夠瞭解Spring Cloud的內部原理,並在實際開發中運用Spring Cloud。新手完全可以通過此書入門,有工作經驗的讀者研讀此書後也會有不一樣的收獲,強烈推薦本書!

——Spring Cloud中國社區成員 唐旺辰


目錄

第1章 微服務簡介 1


1.1 單體架構及其存在的不足 1


1.1.1 單體架構簡介 1


1.1.2 單體架構存在的不足 2


1.1.3 單體架構使用服務器集群


及存在的不足 2


1.2 微服務 3


1.2.1 什麼是微服務 4


1.2.2 微服務的優勢 8


1.3 微服務的不足 9


1.3.1 微服務的復雜度 9


1.3.2 分布式事務 9


1.3.3 服務的劃分 11


1.3.4 服務的部署 11


1.4 微服務和SOA的關係 12


1.5 微服務的設計原則 12


第2章 Spring Cloud簡介 14


2.1 微服務應該具備的功能 14


2.1.1 服務的注冊與發現 15


2.1.2 服務的負載均衡 15


2.1.3 服務的容錯 17


2.1.4 服務網關 18


2.1.5 服務配置的統一管理 19


2.1.6 服務鏈路追蹤 20


2.2 Spring Cloud 21


2.2.1 簡介 21


2.2.2 常用組件 21


2.2.3 項目一覽錶 23


2.3 Dubbo簡介 24


2.4 Spring Cloud與Dubbo比較 25


2.5 Kubernetes簡介 26


2.6 Spring Could與Kubernetes比較 27


2.7 總結 29


第3章 構建微服務的準備 30


3.1 JDK的安裝 30


3.1.1 JDK的下載和安裝 30


3.1.2 環境變量的配置 30


3.2 IDEA的安裝 31


3.2.1 IDEA的下載 31


3.2.2 用IDEA創建一個Spring Boot


工程 32


3.2.3 用IDEA啓動多個Spring Boot


工程實例 34


3.3 構建工具Maven的使用 35


3.3.1 Maven簡介 35


3.3.2 Maven的安裝 35


3.3.3 Maven的核心概念 37


3.3.4 編寫Pom文件 37


3.3.5 Maven構建項目的生命周期 39


3.3.6 常用的Maven命令 40


第4章 開發框架Spring Boot 43


4.1 Spring Boot簡介 43


4.1.1 Spring Boot的特點 43


4.1.2 Spring Boot的優點 44


4.2 用IDEA構建Spring Boot工程 44


4.2.1 項目結構 44


4.2.2 在Spring Boot工程中構建


Web 45


4.2.3 Spring Boot的測試 46


4.3 Spring Boot配置文件詳解 46


4.3.1 自定義屬性 47


4.3.2 將配置文件的屬性賦給


實體類 47


4.3.3 自定義配置文件 49


4.3.4 多個環境的配置文件 50


4.4 運行狀態監控Actuator 50


4.4.1 查看運行程序的健康狀態 52


4.4.2 查看運行程序的Bean 53


4.4.3 使用Actuator關閉應用程序 55


4.4.4 使用shell連接Actuator 56


4.5 Spring Boot整閤JPA 57


4.6 Spring Boot整閤Redis 60


4.6.1 Redis簡介 60


4.6.2 Redis的安裝 60


4.6.3 在Spring Boot中使用Redis 60


4.7 Spring Boot整閤Swagger2,搭建


Restful API在綫文檔 62


第5章 服務注冊和發現Eureka 66


5.1 Eureka簡介 66


5.1.1 什麼是Eureka 66


5.1.2 為什麼選擇Eureka 66


5.1.3 Eureka的基本架構 67


5.2 編寫Eureka Server 67


5.3 編寫Eureka Client 70


5.4 源碼解析Eureka 73


5.4.1 Eureka的一些概念 73


5.4.2 Eureka的高可用架構 74


5.4.3 Register服務注冊 74


5.4.4 Renew服務續約 78


5.4.5 為什麼Eureka Client獲取


服務實例這麼慢 80


5.4.6 Eureka 的自我保護模式 80


5.5 構建高可用的Eureka Server集群 81


5.6 總結 83


第6章 負載均衡Ribbon 84


6.1 RestTemplate簡介 84


6.2 Ribbon簡介 85


6.3 使用RestTemplate和Ribbon來消費


服務 85


6.4 LoadBalancerClient簡介 88


6.5 源碼解析Ribbon 90


第7章 聲明式調用Feign 101


7.1 寫一個Feign客戶端 101


7.2 FeignClient詳解 105


7.3 FeignClient的配置 106


7.4 從源碼的角度講解Feign的工作


原理 107


7.5 在Feign中使用HttpClient和


OkHttp 110


7.6 Feign是如何實現負載均衡的 112


7.7 總結 114


第8章 熔斷器Hystrix 115


8.1 什麼是Hystrix 115


8.2 Hystrix解決瞭什麼問題 115


8.3 Hystrix的設計原則 117


8.4 Hystrix的工作機製 117


8.5 在RestTemplate和Ribbon上使用


熔斷器 118


8.6 在Feign上使用熔斷器 119


8.7 使用Hystrix Dashboard監控熔斷器的


狀態 120


8.7.1 在RestTemplate中使用Hystrix Dashboard 120


8.7.2 在Feign中使用


Hystrix Dashboard 123


8.8 使用Turbine聚閤監控 124


第9章 路由網關Spring Cloud Zuul 126


9.1 為什麼需要Zuul 126


9.2 Zuul的工作原理 126


9.3 案例實戰 128


9.3.1 搭建Zuul服務 128


9.3.2 在Zuul上配置API接口的


版本號 131


9.3.3 在Zuul上配置熔斷器 132


9.3.4 在Zuul中使用過濾器 133


9.3.5 Zuul的常見使用方式 135


第10章 配置中心


Spring Cloud Config 137


10.1 Config Server從本地讀取配置


文件 137


10.1.1 構建Config Server 137


10.1.2 構建Config Client 138


10.2 Config Server從遠程Git倉庫讀取


配置文件 140


10.3 構建高可用的Config Server 141


10.3.1 構建Eureka Server 141


10.3.2 改造Config Server 142


10.3.3 改造Config Client 143


10.4 使用Spring Cloud Bus刷新配置 144


第11章 服務鏈路追蹤


Spring Cloud Sleuth 147


11.1 為什麼需要Spring Cloud Sleuth 147


11.2 基本術語 147


11.3 案例講解 148


11.3.1 構建Zipkin Server 148


11.3.2 構建User Service 149


11.3.3 構建Gateway Service 151


11.3.4 項目演示 152


11.4 在鏈路數據中添加自定義數據 153


11.5 使用RabbitMQ 傳輸鏈路數據 154


11.6 在MySQL數據庫中存儲鏈路數據 155


11.6.1 使用Http傳輸鏈路數據,


並存儲在MySQL數據


庫中 156


11.6.2 使用RabbitMQ傳輸鏈路


數據,並存儲在MySQL


數據庫中 157


11.7 在ElasticSearch中存儲鏈路數據 158


11.8 用Kibana展示鏈路數據 159


第12章 微服務監控


Spring Boot Admin 161


12.1 使用Spring Boot Admin監控Spring Cloud微服務 161


12.1.1 構建Admin Server 161


12.1.2 構建Admin Client 163


12.2 在Spring Boot Admin中集成Turbine 166


12.2.1 改造Eureka Client 166


12.2.2 另行構建Eureka Client 167


12.2.3 構建Turbine工程 168


12.2.4 在Admin Server中集成


Turbine 169


12.3 在Spring Boot Admin中添加安全


登錄界麵 172


第13章 Spring Boot Security詳解 174


13.1 Spring Security簡介 174


13.1.1 什麼是Spring Security 174


13.1.2 為什麼選擇Spring Security 174


13.1.3 Spring Security提供的安全


模塊 175


13.2 Spring Boot Security與Spring Security


的關係 176


13.3 Spring Boot Security案例詳解 176


13.3.1 構建Spring Boot Security


工程 176


13.3.2 配置Spring Security 178


13.3.3 編寫相關界麵 180


13.3.4 Spring Security方法級彆上


的保護 185


13.3.5 從數據庫中讀取用戶的


認證信息 188


13.4 總結 193


第14章 使用Spring Cloud OAuth2


保護微服務係統 195


14.1 什麼是OAuth2 195


14.2 如何使用Spring OAuth2 196


14.2.1 OAuth2 Provider 196


14.2.2 OAuth2 Client 200


14.3 案例分析 201


14.3.1 編寫Eureka Server 202


14.3.2 編寫Uaa授權服務 202


14.3.3 編寫service-hi資源服務 209


14.4 總結 215


第15章 使用Spring Security OAuth2


和JWT保護微服務係統 217


15.1 JWT簡介 217


15.1.1 什麼是JWT 217


15.1.2 JWT的結構 218


15.1.3 JWT的應用場景 219


15.1.4 如何使用JWT 219


15.2 案例分析 219


15.2.1 案例架構設計 219


15.2.2 編寫主Maven工程 220


15.2.3 編寫Eureka Server 221


15.2.4 編寫Uaa授權服務 222


15.2.5 編寫user-service資源服務 227


15.3 總結 236


第16章 使用Spring Cloud構建微


服務綜閤案例 237


16.1 案例介紹 237


16.1.1 工程結構 237


16.1.2 使用的技術棧 238


16.1.3 工程架構 238


16.1.4 功能展示 240


16.2 案例詳解 244


16.2.1 準備工作 244


16.2.2 構建主Maven工程 244


16.2.3 構建eureka-server工程 245


16.2.4 構建config-server工程 246


16.2.5 構建zipkin-service工程 247


16.2.6 構建monitoring-service


工程 248


16.2.7 構建uaa-service工程 250


16.2.8 構建gateway-service工程 251


16.2.9 構建admin-service工程 253


16.2.10 構建user-service工程 253


16.2.11 構建blog-service工程 256


16.2.12 構建log-service工程 256


16.3 啓動源碼工程 260


16.4 項目演示 261


16.5 總結 262



前言/序言

近年來隨著互聯網的飛速發展,各行各業都在擁抱互聯網。互聯網給人類生活帶來瞭翻天覆地的變化,人們在享受互聯網給生活帶來便捷的同時,業務需求的發展也對互聯網技術提齣瞭更高的要求,傳統的單體架構對越來越復雜的業務需求顯得力不從心。此外,隨著大數據、雲計算和人工智能的飛速發展,軟件的架構顯得越來越重要。近幾年來,“微服務”這一名詞在各大網站、論壇、演講中齣現的頻率足以讓人們感覺到它對軟件架構帶來的影響。目前,各大公司都在紛紛采用微服務架構。

Spring Cloud作為Java語言的微服務落地框架,在Spring開源社區和Pivatol、Netflix兩大公司的推動下飛速發展,得到瞭眾多開發者的認可,Spring Cloud在未來很可能成為微服務框架的領導者和規範。和眾多Spring Cloud開發者一樣,我在工作和學習中對Spring Cloud係列框架、組件非常癡迷。我利用業餘時間在CSDN博客上發錶瞭一係列關於Spring Cloud的文章,受到廣大開發人員的歡迎,在短短半年的時間裏,Spring Cloud係列文章的閱讀量就超過200萬。另外,作為Spring Cloud中國社區的聯閤發起人,我持續為社區貢獻文章,得到瞭社區朋友們的認可。因為Spring Cloud是一個新技術,很多人對此還不是很瞭解,所以希望我的文章可以作為大傢學習的資料,也歡迎讀者關注我的博客http://blog.csdn.net/forezp。

沿襲瞭博客的寫作風格,我花費瞭半年的時間和大量的心血來完成本書。從Spring Cloud的基礎組件開始講解,對關鍵組件做瞭源碼分析,力求幫助讀者深入理解原理。同時也重點講解瞭如何在Spring Cloud微服務係統中進行身份認證和權限安全的驗證。在本書的最後,以一個綜閤案例來全麵講解Spring Cloud是如何構建微服務的,這個案例是我在學習和工作過程中使用Spring Cloud的提煉和總結,具有非常高的參考價值。

本書內容

本書共分為16章,各章主要內容如下。

第1章介紹瞭什麼是微服務、為什麼需要微服務、微服務的優缺點和挑戰,並且將單體架構的係統和微服務架構的係統進行瞭比較。

第2章主要介紹微服務應該具備的功能,以及Spring Cloud的基本組件,最後介紹瞭 Spring Cloud與Dubbo、Kubernetes之間的比較及優缺點。

第3、4章介紹瞭構建微服務的準備工作:開發環境的構建和Spring Boot的使用。其中,第3章介紹瞭開發環境的構建,包括JDK的安裝、IDEA和Maven的使用等;第4章介紹瞭Spring Boot的基本使用方法,包括Spring Boot的特點和優點、用IDEA創建一個Spring Boot項目、Spring Boot配置文件詳情、Spring Boot的Actuator模塊,以及Spring Boot集成JPA、Redis、Swagger2等。

第5~9章介紹瞭Spring Cloud框架的基礎模塊—Spring Cloud Netflix模塊,涵蓋瞭Spring Cloud構建微服務的基礎組件。例如Eureka、Ribbon、Feign、Hystrix和Zuul等,這些組件為微服務係統提供瞭基本的服務治理能力。以案例為切入點,由淺入深介紹這些組件,並從源碼的角度分析這些組件的工作原理。

第10章介紹瞭分布式配置中心Spring Cloud Config,詳細講解瞭Config Server如何從本地倉庫和遠程Git倉庫讀取配置文件,以及如何構建高可用的分布式配置中心和使用消息總綫刷新配置文件。

第11章介紹瞭鏈路追蹤組件Spring Cloud Sleuth,包括微服務係統為什麼需要鏈路追蹤組件,並以案例的形式詳細介紹瞭如何在Spring Cloud微服務係統中使用鏈路追蹤,以及如何傳輸、存儲和展示鏈路數據。

第12章以案例的形式介紹瞭Spring Boot Admin,包括Spring Boot Admin在微服務係統中的應用、在Spring Boot Admin中集成安全登錄組件。

第13~15章介紹瞭Spring Cloud微服務係統的安全驗證模塊,包括Spring Boot Security組件和Spring Cloud OAuth2模塊。第13章詳細介紹瞭如何在Spring Boot應用中使用Spring Boot Security;第14章介紹瞭如何在Spring Cloud微服務係統中使用Spring Cloud OAuth2來保護微服務的係統安全;第15章介紹瞭如何在Spring Cloud微服務係統中使用Spring Cloud OAuth2和JWT來保護微服務的係統安全。

第16章以一個綜閤案例介紹瞭使用Spring Cloud構建微服務係統的全過程,該案例是對全書內容的總結和提煉。

本書特色

1.案例豐富,通俗易懂

我的寫作目標之一就是將復雜的事情簡單化,從而讓讀者輕鬆地學習到技術。本書用豐富的案例循序漸進地講解瞭如何使用Spring Cloud構建微服務。

2.深入淺齣,透析本質

以案例為切入點,對Spring Cloud關鍵組件進行源碼解讀,深入講解原理,並在案例中使用大量的圖解,包括展示圖、架構圖等,幫助讀者深入理解。最後以一個綜閤案例完整講解瞭如何使用Spring Cloud構建微服務,達到學以緻用的目的。

3.網絡資源,技術支持

本書中所有的源碼按章節劃分,每一章節都有獨立的源碼,方便讀者使用和理解。讀者可以到我的微信公眾號(微信號walkingstory)中下載源碼。源碼打開即用,可以輕鬆運行。讀者可以一邊看書,一邊看源碼,易於快速學習和理解。

閱讀建議

本書的讀者對象既可以是Spring Cloud的初學者,也可以是經驗豐富的架構師。建議循序漸進、從前往後對照源碼通讀本書。本書采用的Spring Cloud版本為Dalston,Spring Boot版本為1.5.3。

建議和反饋

由於作者能力有限,雖然對書稿做瞭多次認真的檢查和修改,但錯漏之處在所難免,敬請讀者批評指正。讀者可以到我的微信公眾號或者博客中留言反饋,也可以將意見或建議發至本書編輯的郵箱zhangshuang@ptpress.com.cn,我會及時給齣解答。

緻謝

感謝我的傢人在我寫作本書過程中所給予的支持和鼓勵。感謝大學時的導師王為民教授在精神上對我的鼓舞,使我如沐春風,終身受益。感謝我的同事提齣的寶貴意見,和你們一起工作非常榮幸,也非常開心。感謝所有的技術朋友給我的幫助和建議,包括Spring Cloud中國社區的小夥伴們,以及各大社區的技術朋友們。感謝編輯張爽在本書寫作和齣版過程中所做的工作。感謝這麼多良師益友……


方誌朋

2017年鞦



用戶評價

評分

書內容充實,深入淺齣,可以好好學習啦

評分

一口氣買瞭10本。很優惠。速度很快,沒想到京東派送員送到晚上差不多九點都還在送,書看起來挺好的,但是買瞭3本Oreiliy的書,隻有java與xml這邊有防僞貼,其他兩本沒有,不知道是不是正版。看著還不錯吧,給好評。

評分

內容詳細易懂

評分

我為什麼喜歡在京東買東西,因為今天買明天就可以送到。我為什麼每個商品的評價都一樣,因為在京東買的東西太多太多瞭,導緻積纍瞭很多未評價的訂單,所以我統一用一段話作為評價內容。京東購物這麼久,有買到很好的産品

評分

此用戶未填寫評價內容

評分

書很不錯,介紹spring源碼。不過需要有一定功底纔看得懂啊。

評分

入門必備,講的很基礎,也有一點點拓展,適閤入門,但深入學習還需要其他書籍

評分

內容詳細易懂

評分

希望有所幫助 講jpa的書不多

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有