-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
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書號: 49990
詢問書籍請說出此書號!

缺書
NT售價: 645

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

譯者序:

前言:

內容簡介:

本書涵蓋了SpringCloud微服務體系中的常用組件,如:Eureka、Config、Ribbon、Zuul、Hystrix、Consul、Feign等,從入門到實戰,再從實戰到精通,步步為營,引導讀者完全掌握。此外,本書基于新版本Finchley,還特別介紹了全新的基于Netty的網關項目SpringCloudGateway,以及SpringCloud與gRPC的整合方式、版本控制與灰度發布、容器化、認證與鑒權、Dubbo到SpringCloud的遷移、分布式事務、領域驅動等生產級實用解決方案,為IT企業在微服務化的道路中保駕護航。
目錄:

專家推薦
序1
序2
序3
前言
第1章 微服務與Spring Cloud1
1.1 微服務架構概述1
1.1.1 應用架構的發展1
1.1.2 微服務架構3
1.1.3 微服務解決方案4
1.2 Spring Cloud與中間件5
1.2.1 中間件概述5
1.2.2 什么是Spring Cloud5
1.2.3 Spring Cloud項目模塊5
1.2.4 Spring Cloud與服務治理中間件6
1.2.5 Spring Cloud與配置中心中間件6
1.2.6 Spring Cloud與網關中間件8
1.2.7 Spring Cloud與全鏈路監控中間件9
1.3 Spring Cloud增強生態10
1.3.1 Spring Cloud分布式事務10
1.3.2 Spring Cloud與領域驅動10
1.3.3 Spring Cloud與gRPC11
1.3.4 Spring Cloud與Dubbo生態融合11
1.4 本章小結11
第2章 Spring Cloud Eureka上篇12
2.1 服務發現概述12
2.1.1 服務發現由來12
2.1.2 Eureka簡介14
2.1.3 服務發現技術選型15
2.2 Spring Cloud Eureka入門案例16
2.3 Eureka Server的REST API簡介20
2.3.1 REST API列表20
2.3.2 REST API實例20
2.4 本章小結26
第3章 Spring Cloud Eureka下篇27
3.1 Eureka的核心類27
3.1.1 InstanceInfo27
3.1.2 LeaseInfo28
3.1.3 ServiceInstance29
3.1.4 InstanceStatus29
3.2 服務的核心操作30
3.2.1 概述30
3.2.2 LeaseManager30
3.2.3 LookupService31
3.3 Eureka的設計理念31
3.3.1 概述31
3.3.2 AP優于CP32
3.3.3 Peer to Peer架構33
3.3.4 Zone及Region設計34
3.3.5 SELF PRESERVATION設計36
3.4 Eureka參數調優及監控36
3.4.1 核心參數36
3.4.2 參數調優39
3.4.3 指標監控41
3.5 Eureka實戰42
3.5.1 Eureka Server在線擴容42
3.5.2 構建Multi Zone Eureka Server47
3.5.3 支持Remote Region52
3.5.4 開啟HTTP Basic認證58
3.5.5 啟用https61
3.5.6 Eureka Admin66
3.5.7 基于metadata路由實例67
3.6 Eureka故障演練69
3.6.1 Eureka Server全部不可用69
3.6.2 Eureka Server部分不可用71
3.6.3 Eureka高可用原理73
3.7 本章小結74
第4章 Spring Cloud Feign的使用擴展75
4.1 Feign概述75
4.1.1 什么是Feign75
4.1.2 Feign的入門案例76
4.1.3 Feign的工作原理78
4.2 Feign的基礎功能79
4.2.1 FeignClient注解剖析79
4.2.2 Feign開啟GZIP壓縮79
4.2.3 Feign支持屬性文件配置80
4.2.4 Feign Client開啟日志81
4.2.5 Feign的超時設置82
4.3 Feign的實戰運用83
4.3.1 Feign默認Client的替換83
4.3.2 Feign的Post和Get的多參數傳遞86
4.3.3 Feign的文件上傳90
4.3.4 解決Feign首次請求失敗問題92
4.3.5 Feign返回圖片流處理方式93
4.3.6 Feign調用傳遞Token93
4.4 venus-cloud-feign設計與使用94
4.4.1 venus-cloud-feign的設計94
4.4.2 venus-cloud-feign的使用96
4.5 本章小結98
第5章 Spring Cloud Ribbon實戰運用99
5.1 Spring Cloud Ribbon概述99
5.1.1 Ribbon與負載均衡99
5.1.2 入門案例100
5.2 Spring Cloud Ribbon實戰105
5.2.1 Ribbon負載均衡策略與自定義配置105
5.2.2 Ribbon超時與重試107
5.2.3 Ribbon的饑餓加載108
5.2.4 利用配置文件自定義Ribbon客戶端108
5.2.5 Ribbon脫離Eureka的使用108
5.3 Spring Cloud Ribbon進階109
5.3.1 核心工作原理109
5.3.2 負載均衡策略源碼導讀113
5.4 本章小結114
第6章 Spring Cloud Hystrix實戰運用115
6.1 Spring Cloud Hystrix概述115
6.1.1 解決什么問題116
6.1.2 設計目標117
6.2 Spring Cloud Hystrix實戰運用118
6.2.1 入門示例118
6.2.2 Feign中使用斷路器120
6.2.3 Hystrix Dashboard121
6.2.4 Turbine聚合Hystrix124
6.2.5 Hystrix異常機制和處理126
6.2.6 Hystrix配置說明128
6.2.7 Hystrix線程調整和計算129
6.2.8 Hystrix請求緩存130
6.2.9 Hystrix Request Collapser134
6.2.10 Hystrix線程傳遞及并發策略137
6.2.11 Hystrix命令注解142
6.3 本章小結144
第7章 Spring Cloud Zuul基礎篇145
7.1 Spring Cloud Zuul概述145
7.2 Spring Cloud Zuul入門案例146
7.3 Spring Cloud Zuul典型配置149
7.3.1 路由配置149
7.3.2 功能配置152
7.4 本章小結154
第8章 Spring Cloud Zuul中級篇155
8.1 Spring Cloud Zuul Filter鏈155
8.1.1 工作原理155
8.1.2 Zuul原生Filter158
8.1.3 多級業務處理160
8.1.4 使用Groovy編寫Filter165
8.2 Spring Cloud Zuul權限集成168
8.2.1 應用權限概述168
8.2.2 Zuul+OAuth2.0+JWT實戰169
8.3 Spring Cloud Zuul限流176
8.3.1 限流算法176
8.3.2 限流實戰177
8.4 Spring Cloud Zuul動態路由179
8.4.1 動態路由概述179
8.4.2 動態路由實現原理剖析180
8.4.3 基于DB的動態路由實戰182
8.5 Spring Cloud Zuul灰度發布185
8.5.1 灰度發布概述185
8.5.2 灰度發布實戰之一186
8.6 Spring Cloud Zuul文件上傳189
8.6.1 文件上傳實戰189
8.6.2 文件上傳亂碼解決191
8.7 Spring Cloud Zuul實用小技巧192
8.7.1 饑餓加載192
8.7.2 請求體修改192
8.7.3 使用okhttp替換HttpClient193
8.7.4 重試機制194
8.7.5 Header傳遞195
8.7.6 整合Swagger2調試源服務195
8.8 本章小結197
第9章 Spring Cloud Zuul高級篇198
9.1 Spring Cloud Zuul多層負載198
9.1.1 痛點場景198
9.1.2 解決方案198
9.2 Spring Cloud Zuul應用優化200
9.2.1 概述200
9.2.2 容器優化201
9.2.3 組件優化202
9.2.4 JVM參數優化203
9.2.5 內部優化204
9.3 Spring Cloud Zuul原理&核心源碼解析205
9.3.1 工作原理與生命周期205
9.3.2 Filter裝載與Filter鏈實現208
9.3.3 核心路由實現210
9.4 本章小結213
第10章 Spring Cloud基礎綜合案例214
10.1 基礎框架214
10.1.1 搭建說明214
10.1.2 技術方案214
10.1.3 具體實現215
10.2 實戰擴展217
10.2.1 公共包 (對象,攔截器,工具類等)218
10.2.2 用戶上下文對象傳遞218
10.2.3 Zuul的Fallback機制221
10.3 生產環境各組件參考配置222
10.3.1 Eureka推薦配置222
10.3.2 Ribbon推薦配置223
10.3.3 Hystrix推薦配置223
10.3.4 Zuul推薦配置223
10.4 本章小結224
第11章 Spring Cloud Config上篇225
11.1 Spring Cloud Config配置中心概述225
11.1.1 什么是配置中心225
11.1.2 Spring Cloud Config227
11.1.3 Spring Cloud Config入門案例228
11.2 刷新配置中心信息234
11.2.1 手動刷新操作234
11.2.2 結合Spring Cloud Bus熱刷新237
11.3 本章小結244
第12章 Spring Cloud Config下篇245
12.1 服務端Git配置詳解與實戰245
12.1.1 Git多種配置詳解概述245
12.1.2 Git中URI占位符245
12.1.3 模式匹配和多個存儲庫250
12.1.4 路徑搜索占位符251
12.2 關系型數據庫的配置中心的實現251
12.2.1 Spring Cloud Config基于MySQL的配置概述251
12.2.2 Spring Cloud Config與MySQL結合案例252
12.3 非關系型數據庫的配置中心的實現255
12.3.1 Spring Cloud Config基于MongoDB的配置概述255
12.3.2 Spring Cloud Config MongoDB案例256
12.4 Spring Cloud Config使用技能259
12.5 Spring Cloud Config功能擴展260
12.5.1 客戶端自動刷新260
12.5.2 客戶端回退功能264
12.5.3 客戶端的安全認證機制JWT270
12.6 高可用部分285
12.6.1 客戶端高可用285
12.6.2 服務端高可用293
12.7 Spring Cloud與Apollo配置使用300
12.7.1 Apollo簡介300
12.7.2 Apollo具備功能300
12.7.3 Apollo總體架構模塊300
12.7.4 客戶端設計301
12.7.5 Apollo運行環境方式302
12.8 Spring Cloud與Apollo結合使用實戰303
12.8.1 Apollo環境的要求303
12.8.2 Apollo基礎數據導入303
12.8.3 創建config-client-apollo307
12.8.4 創建gateway-zuul-apollo310
12.9 本章總結316
第13章 Spring Cloud Consul上篇317
13.1 Consul簡介317
13.1.1 什么是Consul317
13.1.2 Consul能做什么317
13.1.3 Consul的安裝318
13.1.4 Consul啟動318
13.1.5 Consul UI319
13.1.6 Consul實用接口319
13.2 Spring Cloud Consul簡介319
13.2.1 Spring Cloud Consul是什么319
13.2.2 Spring Cloud Consul能做什么320
13.2.3 Spring Cloud Consul入門案例320
13.3 本章小節324
第14章 Spring Cloud Consul下篇325
14.1 Spring Cloud Consul深入325
14.1.1 Spring Cloud Consul的模塊介紹325
14.1.2 Spring Cloud Consul Discovery325
14.1.3 Spring Cloud Consul Config332
14.2 Spring Cloud Consul功能重寫335
14.2.1 重寫ConsulDiscoveryClient335
14.2.2 重寫ConsulServerList338
14.3 常見問題排查343
14.3.1 版本兼容的那些坑343
14.3.2 Spring Cloud Consul的一些問題344
14.4 本章小節346
第15章 Spring Cloud認證和鑒權347
15.1 微服務安全與權限347
15.2 Spring Cloud認證與鑒權方案348
15.2.1 單體應用下的常用方案348
15.2.2 微服務下SSO單點登錄方案348
15.2.3 分布式Session與網關結合方案349
15.2.4 客戶端Token與網關結合方案349
15.2.5 瀏覽器Cookie與網關結合方案350
15.2.6 網關與Token和服務間鑒權結合350
15.3 Spring Cloud認證鑒權實戰案例351
15.3.1 創建Spring Cloud Gateway及關聯信息351
15.3.2 核心的公共工程core-service353
15.3.3 服務提供方工程provider-service355
15.3.4 客戶端工程client-service356
15.3.5 運行結果356
15.4 本章小結358
第16章Spring Cloud全鏈路監控359
16.1 全鏈路監控概述359
16.1.1 鏈路監控的原理來源359
16.1.2 Sleuth原理介紹360
16.1.3 Brave和Zipkin360
16.2 Sleuth基本用法362
16.2.1 Sleuth對Feign的支持365
16.2.2 Sleuth對RestTemplate的支持366
16.2.3 Sleuth對多線程的支持367
16.3 Sleuth深入用法367
16.3.1 TraceFilter367
16.3.2 Baggage367
16.3.3 案例367
16.4 Spring Cloud與SkyWalking369
16.4.1 Skywalking概述369
16.4.2 SkyWalking提供主要功能370
16.4.3 SkyWalking主要特性370
16.4.4 SkyWalking整體架構370
16.5 Spring Cloud與Skywalking實戰370
16.5.1 父工程創建371
16.5.2 創建eureka-server-skywalking工程372
16.5.3 創建zuul-skywalking373
16.5.4 創建service-a375
16.5.5 創建service-b377
16.5.6 SkyWalking Collector基礎環境安裝378
16.5.7 使用Agent啟動服務和監控查看382
16.5.8 總結385
16.6 Spring Cloud與Pinpoint386
16.6.1 Pinpoint概述386
16.6.2 Pinpoint架構模塊386
16.6.3 Pinpoint的數據結構386
16.6.4 Pinpoint兼容性387
16.7 Spring Cloud與Pinpoint實戰389
16.7.1 Pinpoint基礎環境389
16.7.2 Collector和Web部署391
16.7.3 Agent啟動應用392
16.7.4 UI瀏覽指標394
16.7.5 總結397
16.8 本章總結398
第17章Spring Cloud Gateway上篇399
17.1 Spring Cloud Gateway概述399
17.1.1 什么是Spring Cloud Gateway399
17.1.2 Spring Cloud Gateway的核心概念399
17.2 Spring Cloud Gateway的工作原理400
17.3 Spring Cloud Gateway入門案例401
17.4 Spring Cloud Gateway的路由斷言404
17.4.1 After路由斷言工廠404
17.4.2 Before路由斷言工廠406
17.4.3 Between路由斷言工廠406
17.4.4 Cookie路由斷言工廠407
17.4.5 Header路由斷言工廠408
17.4.6 Host路由斷言工廠410
17.4.7 Method路由斷言工廠411
17.4.8 Query路由斷言工廠411
17.4.9 RemoteAddr路由斷言工廠412
17.5 Spring Cloud Gateway的內置Filter413
17.5.1 AddRequestHeader過濾器工廠413
17.5.2 AddRequestParameter過濾器413
17.5.3 RewritePath過濾器414
17.5.4 AddResponseHeader過濾器415
17.5.5 StripPrefix過濾器416
17.5.6 Retry過濾器417
17.5.7 Hystrix過濾器418
17.6 本章小結420
第18章 Spring Cloud Gateway下篇421
18.1 Gateway基于服務發現的路由規則421
18.1.1 Gateway的服務發現路由概述421
18.1.2 服務發現的路由規則案例422
18.2 Gateway Filter和Global Filter425
18.2.1 Gateway Filter和Global Filter概述425
18.2.2 自定義Gateway Filter案例425
18.2.3 自定義Global Filter案例427
18.3 Spring Cloud Gateway實戰428
18.3.1 Spring Cloud Gateway權重路由428
18.3.2 Spring Cloud Gateway中Https的使用技巧431
18.3.3 Spring Cloud Gateway集成Swagger436
18.3.4 Spring Cloud Gateway限流442
18.3.5 Spring Cloud Gateway的動態路由450
18.4 Spring Cloud Gateway源碼篇458
18.4.1 Spring Cloud Gateway的處理流程458
18.4.2 Gateway中ServerWebExchange構建分析459
18.4.3 DispatcherHandler源碼分析460
18.4.4 RoutePredicateHandlerMapping源碼分析461
18.4.5 FilteringWebHandler源碼分析462
18.4.6 執行Filter源碼分析463
18.5 本章小結465
第19章 Spring Cloud與gRPC上篇466
19.1 Spring Cloud為什么需要gRPC466
19.2 gRPC簡介468
19.3 gRPC的一些核心概念469
19.3.1 服務定義469
19.3.2 使用API470
19.3.3 同步vs異步470
19.4 RPC的生命周期470
19.5 gRPC依賴于Protocol Buffers472
19.5.1 Protocol Buffers的特點472
19.5.2 使用Protocol Buffers的Maven插件472
19.5.3 Proto Buffer語法介紹475
19.6 gRPC基于HTTP2476
19.7 gRPC基于Netty進行IO處理477
19.8 gRPC案例實戰478
19.9 本章小結481
第20章gRPC在Spring Cloud與gRPC下篇482
20.1 gRPC Spring Boot Starter介紹482
20.2 gRPC Spring Boot Starter架構設計482
20.3 gRPC Spring Boot Starter源碼分析 483
20.3.1 gRPC Server Spring Boot Starter源碼解析483
20.3.2 gRPC Client Spring Boot Starter源碼解析486
20.4 案例實戰489
20.4.1 注冊中心489
20.4.2 鏈路追蹤服務端490
20.4.3 gRPC的lib工程490
20.4.4 gRPC服務端491
20.4.5 gRPC客戶端494
20.5 本章小結497
第21章 Spring Cloud版本控制與灰度發布498
21.1 背景498
21.2 常見發布方式499
21.2.1 藍綠發布499
21.2.2 滾動發布500
21.2.3 灰度發布500
21.2.4 對比501
21.3 版本控制與灰度發布實戰502
21.3.1 Discovery項目503
21.3.2 實戰案例504
21.3.3 實戰測試505
21.4 本章小結509
第22章 Spring Cloud容器化510
22.1 Java服務Docker化510
22.1.1 基礎鏡像選擇510
22.1.2 Dockerfile編寫511
22.1.3 鏡像構建插件514
22.1.4 JDK8+的Docker支持516
22.1.5 JDK9+鏡像優化517
22.2 Spring Cloud組件的Docker化519
22.2.1 Docker化配置519
22.2.2 config-server的Docker化520
22.2.3 eureka-server的Docker化522
22.2.4 gateway的Docker化524
22.2.5 turbine的Docker化526
22.2.6 Spring Admin的Docker化528
22.2.7 biz-service的Docker化530
22.2.8 網卡選擇532
22.2.9 小結 532
22.3 使用Kubernetes管理532
22.3.1 概述532
22.3.2 本地安裝Kubernetes533
22.3.3 部署到Kubernetes536
22.3.4 一鍵伸縮544
22.3.5 滾動升級547
22.4 本章小結552
第23章 Dubbo向Spring Cloud遷移553
23.1 將Dubbo服務納入Spring Cloud體系中553
23.1.1 將Dubbo項目改造成Spring Boot項目553
23.1.2 集成Spring Cloud組件554
23.1.3 將Dubbo服務暴露為RESTful API555
23.2 將Spring Cloud服務Dubbo化556
23.2.1 服務注冊中心556
23.2.2 服務提供者556
23.2.3 服務消費者558
23.2.4 Spring Cloud Dubbo框架原理561
23.3 本章小結562
第24章 Spring Cloud與分布式事務563
24.1 概述563
24.1.1 ACID563
24.1.2 X/Open DTP模型與XA接口564
24.1.3 CAP與BASE定理567
24.2 解決方案567
24.2.1 Java事務編程接口JTA567
24.2.2 分布式事務TCC模式568
24.2.3 分布式事務SAGA模式570
24.3 實戰572
24.3.1 Atomikos JTA572
24.3.2 TCC for REST580
24.3.3 Servicecomb SAGA594
24.4 本章小結603
第25章 Spring Cloud與領域驅動實踐604
25.1 領域驅動概述604
25.1.1 Spring Cloud與領域驅動604
25.1.2 為什么需要領域建模605
25.2 領域驅動核心概念606
25.2.1 實體概述606
25.2.2 值對象概述606
25.2.3 領域服務607
25.2.4 聚合及聚合根607
25.2.5 邊界上下文608
25.2.6 工廠609
25.2.7 倉儲/資源庫609
25.2.8 CQRS架構610
25.2.9 領域事件610
25.2.10 領域驅動模型的設計步驟611
25.3 Halo框架的設計611
25.3.1 DDD應用框架的意義611
25.3.2 領域驅動框架現狀612
25.3.3 Halo框架概述612
25.3.4 Halo框架分層設計613
25.3.5 Halo框架中的CQRS設計615
25.3.6 Command與Command Bus設計616
25.3.7 Event與Event Bus設計619
25.3.8 Extend擴展點設計621
25.3.9 業務身份設計623
25.3.10 規范設計624
25.4 Spring Cloud與Halo實戰625
25.4.1 事件風暴尋找模型和聚合625
25.4.2 Spring Cloud與Halo實戰案例626
25.4.3 新建二方包工程模塊627
25.4.4 新建DDD基礎設施層629
25.4.5 新建DDD領域層 630
25.4.6 新建DDD應用層 632
25.4.7 啟動測試634
25.5 本章小結634
序: