-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Spring Cloud實戰

( 簡體 字)
作者:胡書敏類別:1. -> 程式設計 -> JAVA -> Spring
譯者:
出版社:清華大學出版社Spring Cloud實戰 3dWoo書號: 51279
詢問書籍請說出此書號!

缺書
NT售價: 295

出版日:7/1/2019
頁數:200
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787302527220
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

千軍易得,一將難求。在軟件開發行業,與高級程序員相比,架構師能拿到更高的工資,為什么呢?因為架構師更需要解決“負載均衡”“服務治理”與“限流降低”等軟件架構領域的問題。如果架構方面的問題沒處理好,那么模塊間的耦合度可能會非常高,從而使項目在經過幾個迭代版本后很難維護。這還算小事,如果系統架構失當,部署到生產環境后,就非常有可能無法適應高并發量的訪問需求。
相比于高級程序員,升級到架構師的難度會比較大,這是因為雖然很多人知道架構師該掌握的技能,但卻不知道該通過哪些手段來提升實踐技能。比如很多人知道負載均衡的概念和相關算法,但掌握架構級別使用負載均衡組件的人并不多,而掌握負載均衡組件與其他架構組件(比如網關組件)相整合從而發揮更大效用的人就更少了。
我們知道,在Spring Cloud的諸多組件里,包含著能實現各種架構需求的組件,比如通過Eureka組件能實現服務治理,通過Hystrix能實現容錯保護,通過Spring Cloud Stream能整合消息中間件,所以從Spring Cloud入手了解架構方面的技能是一個比較有操作性的選擇。
本書可以看成為Spring Cloud微服務組件架構案例實戰指南,站在架構設計的角度,從“服務治理”“負載均衡”“容錯保護”“網關”和“消息通信”等角度向大家逐一介紹Spring Cloud中的常用組件。
在本書每個介紹“架構級”組件的章節中,大家不會看到大段引經據典的文字,而是能看到有實踐意義的案例。而且,每個案例均配有視頻講解,大家能很快在自己的機器上調試通過(免去了很多自己試錯的時間),通過運行這些案例,讀者能快速地掌握架構級別相關組件的作用和一般用法。
我們知道,在系統架構體系中,往往會把多個組件整合到一起配套使用,所以本書給出的案例更注重各類“整合”,比如網關(Zuul)與負載均衡組件(Ribbon)整合,或服務治理(Eureka)和日志組件(Sleuth)整合,當然在整合的時候不能亂點鴛鴦譜,而是要契合企業的實際需求和常規用法。而且,在講述架構級Spring Cloud組件的時候,我們不僅僅停留在案例代碼級別,大家更能從文字性說明的字里行間感受到架構師思考問題的方式以及組件層面解決實際問題的架構方案。
不少人想學Spring Cloud微服務架構技術,由于牽涉到“架構”,因此不怎么好學。在本書中,針對Spring Cloud里的每個常用組件,都將給出基于案例的講解,所以通過本書學習Spring Cloud,大家不會覺得特別難。
讀者在讀完每個章節后,不僅可以了解相關常用組件的用法,還可以掌握包含在具體組件背后的架構思想(比如負載均衡或高可用),與之相對應,在讀完本書后,讀者不僅能感受到相關微服務組件整合后給項目帶來的好處,還能自己動手實踐基于多個組件的微服務架構。總之一句話:本書能從Spring Cloud微服務架構體系入手,幫助讀者高效地升級到架構師。
除了在掌握Spring Cloud技術方面會對大家有所幫助,在升級到架構師的道路上,本書也是一個比較好的助手。一方面,本書作者有實際的架構師經驗(尤其在Spring Cloud方面),知道Spring Cloud里哪些知識該學,哪些可以一筆帶過;另一方面,本書作者也是資深培訓老師和資深計算機圖書的作家,知道如何把Spring Cloud(乃至架構)方面的知識清晰地傳授給讀者或學員的方法。
大家在閱讀每個章節的時候,會看到“精悍而易懂”的案例,在案例的上下文中,更能感受到作者在用心與大家交流。正因如此,讀者能高效地讀完并理解每個章節的內容,與之對應的是,在讀完本書后,能掌握Spring Cloud乃至架構層面的開發技能,再進一步,甚至能承擔部分“初級架構師”的工作。
本書內容
第1章介紹以Maven方式開發Spring Boot項目的一般方式,以及Spring Cloud全家桶里各個常用組件的作用。
第2章講解Spring Boot通過Spring Data里的JPA組件與MySQL數據庫交互的方式,其中不僅包括查詢獲取數據的一般方法,還包括通過JPA實現一對一、一對多和多對多關聯的方法。
第3~5章分別講述Spring Cloud的服務治理組件Eureka、負載均衡組件Ribbon以及服務容錯處理組件Hystrix。在實際項目中,這3個組件一般會配套使用。在本書中,大家能看到整合使用這3個組件的技巧。
第6章講述客戶端調用組件Feign,這個組件能封裝客戶端的調用細節,從而能進一步解耦合服務調用和業務邏輯。
第7章講述Zuul網關,包括該組件配置路由的做法及其過濾器的使用技巧。
第8~10章分別講述Spring Cloud Config配置管理組件、Spring Cloud Bus和Spring Cloud Stream消息管理組件和基于Sleuth的微服務跟蹤組件,通過它們,我們能進一步完善微服務系統的架構。
在最后一章里,我們給出基于Spring Cloud的若干案例,其中包括在Spring Boot里開發Web程序的方式、在Spring Boot里實現身份驗證和權限管理的技巧,并在本章最后整合諸多組件,給出一個相對完整的案例。也可以掃描下面的二維碼下載。

最后,感謝大家耐心讀完“前言”,如果大家再進一步用心看完本書的所有內容,相信收獲會超出你的想象,如果對本書有一些建議,或大家在學習中遇到問題,歡迎一起討論。

編者
2019年3月
內容簡介:

本書以Spring Cloud微服務架構為主線,依次通過案例講述Spring Cloud的常用組件。看完本書后,大家會比較熟悉基于 Spring Cloud微服務架構的開發技術。
本書分為11章,內容包括Spring Boot微服務入門、Spring Data連接數據庫、Eureka服務治理框架、Ribbon負載均衡組件、HyStrix服務容錯組件、Feign服務調用框架、Zuul網關組件、用Spring Cloud Config搭建配置中心、消息機制與消息驅動框架、微服務健康檢查與服務跟蹤,最后給出一個SpringBoot開發Web的實戰案例。
如果你想了解Spring Cloud微服務架構,并想以此進階到架構師,那么本書是不錯的選擇。而且本書還附帶相關代碼和視頻,視頻里包含了所有案例的配置和運行方式,建議大家在觀看視頻、運行代碼的基礎上閱讀本書的文字,這樣能更高效地掌握Spring Cloud微服務開發技巧。
目錄:

第1章通過SpringBoot入門微服務 1
1.1SpringBoot、SpringCloud與微服務架構 1
1.1.1通過和傳統架構的對比了解微服務的優勢 1
1.1.2SpringBoot、SpringCloud和微服務三者的關系 3
1.1.3基于NetflixOSS的SpringCloud的常用組件 4
1.2通過Maven開發第一個SpringBoot項目 5
1.2.1Maven是什么,能帶來什么幫助 5
1.2.2通過Maven開發SpringBoot的HelloWorld程序 6
1.2.3Controller類里處理Restful格式的請求 9
1.2.4@SpringBootApplication注解等價于其他3個注解 11
1.2.5通過配置文件實現熱部署 12
1.3通過Actuator監控SpringBoot運行情況 12
1.3.1準備待監控的項目 13
1.3.2通過/info查看本站點的自定義信息 14
1.3.3通過/health查看本站點的健康信息 14
1.3.4通過/metrics查看本站點的各項指標信息 14
1.3.5actuator在項目里的實際用法 15
1.4本章小結 15
第2章用SpringData框架連接數據庫 16
2.1SpringData框架概述 16
2.2SpringData通過JPA連接MySQL 17
2.2.1連接MySQL的案例分析 17
2.2.2使用yml格式的配置文件 22
2.2.3通過profile文件映射到不同的運行環境 23
2.3通過JPA實現各種關聯關系 24
2.3.1一對一關聯 24
2.3.2一對多關聯 28
2.3.3多對多關聯 30
2.4本章小結 34
第3章服務治理框架:Eureka 35
3.1了解Eureka框架 35
3.1.1Eureka能干什么 35
3.1.2Eureka的框架圖 36
3.2構建基本的Eureka應用 36
3.2.1搭建Eureka服務器 36
3.2.2編寫作為服務提供者的Eureka客戶端 38
3.2.3編寫服務調用者的代碼 40
3.2.4通過服務調用者調用服務 42
3.3實現高可用的Eureka集群 43
3.3.1集群的示意圖 43
3.3.2編寫相互注冊的服務器端代碼 43
3.3.3服務提供者只需向其中一臺服務器注冊 44
3.3.4修改服務調用者的代碼 45
3.3.5正常場景下的運行效果 45
3.3.6一臺服務器宕機后的運行效果 46
3.4Eureka的常用配置信息 46
3.4.1查看客戶端和服務器端的配置信息 47
3.4.2設置心跳檢測的時間周期 47
3.4.3設置自我保護模式 47
3.4.4其他常用配置信息 48
3.5本章小結 49
第4章負載均衡組件:Ribbon 50
4.1網絡協議和負載均衡 50
4.1.1基于4層和7層的負載均衡策略 50
4.1.2硬件層和軟件層的負載均衡方案比較 51
4.1.3常見的軟件負載均衡策略 51
4.1.4Ribbon組件基本介紹 52
4.2編寫基本的負載均衡程序 52
4.2.1編寫服務器端的代碼 53
4.2.2編寫客戶端調用的代碼 53
4.3Ribbon中重要組件的用法 55
4.3.1ILoadBalancer:負載均衡器接口 55
4.3.2IRule:定義負載均衡規則的接口 56
4.3.3IPing:判斷服務器是否可用的接口 57
4.4Ribbon整合Eureka組件 58
4.4.1整體框架的說明 59
4.4.2編寫Eureka服務器 60
4.4.3編寫Eureka服務提供者 61
4.4.4在Eureka服務調用者里引入Ribbon 62
4.4.5重寫IRule和IPing接口 64
4.4.6實現雙服務器多服務提供者的高可用效果 67
4.5配置Ribbon的常用參數 69
4.5.1參數的影響范圍 69
4.5.2歸納常用的參數 69
4.5.3在類里設置Ribbon參數 70
4.6本章小結 71
第5章服務容錯組件:HyStrix 72
5.1在微服務系統里引入Hystrix的必要性 72
5.1.1通過一些算術題了解系統發生錯誤的概率 72
5.1.2用通俗方式總結Hystrix的保護措施 73
5.2通過案例了解Hystrix的各種使用方式 74
5.2.1準備服務提供者 74
5.2.2以同步方式調用正常工作的服務 75
5.2.3以異步方式調用服務 77
5.2.4調用不可用服務會啟動保護機制 78
5.2.5調用Hystrix時引入緩存 80
5.2.6歸納Hystrix的基本開發方式 82
5.3通過Hystrix實踐各種容錯保護機制 82
5.3.1強制開啟或關閉斷路器 82
5.3.2根據流量情況按命令組開啟斷路器 83
5.3.3降級服務后的自動恢復嘗試措施 85
5.3.4線程級別的隔離機制 87
5.3.5信號量級別的隔離機制 89
5.3.6通過合并批量處理URL請求 90
5.4Hystrix與Eureka的整合 94
5.4.1準備Eureka服務器項目 94
5.4.2服務提供者的代碼結構 95
5.4.3在服務提供者項目里引入斷路器機制 96
5.4.4在服務調用者項目里引入合并請求機制 97
5.5本章小結 100
第6章服務調用框架:Feign 101
6.1通過案例快速上手Feign 101
6.1.1編寫服務注冊項目和服務提供項目 101
6.1.2通過Feign調用服務 102
6.1.3通過比較其他調用方式來了解Feign的封裝性 104
6.2Feign的常見使用方式 105
6.2.1通過繼承改善項目架構 105
6.2.2通過注解輸出調用日志 107
6.2.3壓縮請求和返回以提升訪問效率 108
6.3通過Feign使用Ribbon負載均衡特性 109
6.3.1準備Eureka服務器以及多個服務提供者 109
6.3.2通過Feign以Ribbon負載均衡的方式調用服務 110
6.4Feign整合Hystrix 111
6.5本章小結 113
第7章微服務架構的網關組件:Zuul 114
7.1通過案例入門Zuul組件的用法 114
7.1.1搭建簡單的基于Zuul組件的網關 114
7.1.2通過運行結果體會Zuul轉發請求的效果 116
7.2Zuul請求過濾器 116
7.2.1http請求生命周期和Zuul過濾器 116
7.2.2過濾器的常規用法 117
7.2.3指定過濾器的優先級 119
7.2.4通過error過濾器處理路由時的異常情況 121
7.2.5動態增加過濾器 123
7.3通過Zuul實現路由功能的實踐方案 126
7.3.1簡單路由的做法 126
7.3.2通過forward跳轉到本地頁面 127
7.3.3路由到具體的服務 128
7.3.4定義映射url請求的規則 129
7.3.5配置路由的例外規則 130
7.4Zuul天然整合了Ribbon和Hystrix 131
7.4.1案例的準備工作 131
7.4.2Zuul組件包含Ribbon和Hystrix模塊的依賴 132
7.4.3以Ribbon負載均衡的方式實現路由 132
7.4.4在Zuul網關中引入Hystrix 134
7.5本章小結 136
第8章用SpringCloudConfig搭建配置中心 137
8.1通過SpringCloudConfig搭建基于Git的配置中心 137
8.1.1SpringCloudConfig中服務器和客戶端的體系結構 137
8.1.2在Git上準備配置文件 138
8.1.3在服務器中連接Git倉庫 139
8.1.4在客戶端讀取配置文件 141
8.2搭建基于SVN的配置中心 142
8.2.1準備SVN環境 143
8.2.2編寫基于SVN的配置服務器代碼 144
8.2.3在應用中讀取基于SVN客戶端的配置 145
8.3服務器和客戶端的其他常見用法 146
8.3.1總結配置客戶端和服務器的作用 146
8.3.2在服務端驗證配置倉庫訪問權限 147
8.3.3在服務端配置身份驗證信息 147
8.3.4訪問配置倉庫子目錄中的配置 148
8.3.5在本地備份遠端倉庫中的配置 149
8.3.6用本地屬性覆蓋遠端屬性 150
8.3.7failFast屬性 151
8.3.8與failFast配套的重試相關參數 151
8.4SpringCloudConfig與Eureka的整合 153
8.4.1本案例的體系結構和項目說明 153
8.4.2準備數據庫環境和Git配置信息 154
8.4.3配置服務器與Eureka服務器合二為一 154
8.4.4配置客戶端與Eureka客戶端合二為一 156
8.4.5查看運行效果 158
8.5本章小結 158
第9章消息機制與消息驅動框架 159
9.1在微服務中實現模塊間的通信 159
9.1.1消息代理和消息中間件 159
9.1.2SpringCloud體系中的消息總線 160
9.1.3SpringCloudStream:消息驅動框架 160
9.2消息中間件的案例 161
9.2.1RabbitMQ的安裝步驟 161
9.2.2通過RabbitMQ發送和接收消息的案例 162
9.2.3Kafka的安裝步驟 165
9.2.4通過Kafka發送和接收消息的案例 166
9.3通過消息總線封裝消息中間件 168
9.3.1基于RabbitMQ的消息總線案例 168
9.3.2基于Kafka的消息總線案例 169
9.4SpringCloudStream組件的常見用法 170
9.4.1實現基于RabbitMQ的案例 170
9.4.2通過更換綁定器變更消息中間件 173
9.4.3消費組案例演示 174
9.4.4消息分區實例演示 175
9.5本章小結 177
第10章微服務健康檢查與服務跟蹤 178
10.1通過SpringBootAdmin監控微服務 178
10.1.1監控單個服務 178
10.1.2與Eureka的整合 181
10.1.3設置報警郵件 184
10.2通過Sleuth組件跟蹤服務調用鏈路 185
10.2.1基于Sleuth案例的總體說明 185
10.2.2關于服務提供者案例的說明 186
10.2.3關于服務調用者案例的說明 186
10.2.4通過運行效果了解Sleuth組件 187
10.2.5通過Sleuth組件分析問題的一般方法 188
10.3整合Zipkin查詢和分析日志 188
10.3.1搭建Zipkin服務器 188
10.3.2從Zipkin圖表上查看Sleuth發來的日志 189
10.3.3在MySQL中保存Zipkin數據 191
10.3.4如何根據Zipkin結果觀察調用鏈路 193
10.4本章小結 194
第11章用SpringBoot開發Web案例 195
11.1在SpringBoot中整合JSP及MVC 195
11.1.1以Maven的形式創建Web項目 195
11.1.2在SpringBoot中引入JSP(基于Maven) 197
11.1.3在SpringBoot中引入MVC架構和數據庫服務 198
11.2SpringSecurity與SpringBoot的整合 201
11.2.1身份驗證的簡單做法 201
11.2.2進行動態身份驗證的做法 204
11.2.3SpringBootSecurity身份驗證的開發要點 205
11.2.4根據用戶的角色分配不同的資源 205
11.3在Web項目中整合Eureka、Ribbon等組件 210
11.3.1本案例的框架與包含的項目說明 210
11.3.2開發Eureka服務器模塊 211
11.3.3開發前端Web項目 211
11.3.4開發提供用戶驗證的項目 215
11.3.5開發提供賬戶查詢功能的項目(含負載均衡) 216
11.4本章小結 219
序: