《微服務從小白到專家——Spring Cloud和Kubernetes實戰》是2021年9月電子工業出版社出版的圖書,作者是姚秋辰,張昕,卿睿。
針對Spring Cloud Hoxton + Spring Boot 2.2.x版本。實戰項目貫穿全書,體驗單體套用到微服務架構的升級過程
基本介紹
- 中文名:微服務從小白到專家——Spring Cloud和Kubernetes實戰
- 作者:姚秋辰、張昕、卿睿
- 出版時間:2021年9月
- 出版社:電子工業出版社
- 頁數:716 頁
- ISBN:9787121419478
- 定價:158 元
- 開本:16 開
內容簡介,圖書目錄,作者簡介,
內容簡介
從Spring Boot單體套用的搭建,到Spring Cloud微服務架構升級,再到使用Docker和Kubernetes容器編排技術做容器化改造
圖書目錄
第1章 熱身運動 1
1.1 準備工作 1
1.2 Java Web開發的進化史 6
第2章 Spring Boot介紹 26
2.1 Spring Boot的前塵往事 26
2.2 Spring Boot的設計理念 34
2.3 Spring Boot的核心功能 34.
第3章 Spring Boot實戰 63
3.1 創建Spring Boot項目 63
3.2 項目運行打包 70
3.3 Spring Boot管理日誌 74
3.4 數據訪問 80
3.5 訊息系統 143
3.6 套用安全管理 162
3.7 定時任務 173
3.8 Spring Boot項目測試 186
第4章 微服務與Spring Cloud 189
4.1 什麼是微服務架構 189
4.2 微服務的拆分規範 192
4.2.1 領域模型 192
4.3 大廠微服務架構的服務治理方案 193
4.4 了解Spring Cloud 196
4.5 了解Spring Cloud組件庫 198
4.6 實戰項目技術選型 203
第5章 使用Eureka實現服務治理 205
5.1 什麼是服務治理 205
5.2 Spring Cloud中常用的註冊中心 207
5.3 分散式系統理論 209
5.4 Eureka核心概念 211
5.5 優惠券項目改造――高可用註冊中心 213
5.6 coupon-template-service微服務架構升級 218
5.7 改造coupon-calculator 221
5.8 改造coupon-user-service服務 222
5.9 Eureka中的其他配置參數 227
第6章 使用Nacos實現服務治理 229
6.1 什麼是Nacos 229
6.2 Nacos的核心功能 230
6.3 Nacos下載與安裝 232
6.4 Nacos實戰 234
第7章 使用Ribbon實現負載均衡 247
7.1 什麼是負載均衡 247
7.2 了解Ribbon 248
7.3 了解Ribbon的負載均衡器 249
7.4 IPing機制 251
7.5 微服務項目架構升級 252
第8章 使用OpenFeign實現服務間調用 256
8.1 Feign 256
8.2 微服務架構升級――使用Feign代理接口調用 258
第9章 使用Hystrix實現服務間容錯 267
9.1 Hystrix 267
9.2 Hystrix的核心概念 269
9.3 微服務架構升級――配置熔斷和降級 271
9.4 微服務架構升級――利用Turbine收集Hystrix信息 281
9.5 微服務架構升級――利用Hystrix Dashboard觀察服務健康度 284
9.6 啟用Hystrix Dashboard觀察服務狀態 286
第10章 使用Sentinel實現限流控制 290
10.1 服務容錯 290
10.2 Sentinel簡介 291
10.3 Sentinel控制台 296
10.4 Sentinel與Spring Cloud的集成 297
10.5 使用Sentinel實現降級控制 298
10.6 使用Sentinel實現限流控制 302
10.7 Sentinel的日誌 307
第11章 使用Spring Cloud Config和Bus搭建配置中心 310
11.1 配置中心在微服務中的套用 310
11.2 了解Spring Cloud Config和Bus 313
11.3 準備工作――創建GitHub檔案 315
11.4 微服務架構升級――搭建高可用的配置中心 316
11.5 GitHub配置檔案命名規則 322
11.6 對GitHub中的配置項進行加解密 324
11.7 微服務架構升級――從配置中心讀取配置項 328
第12章 使用Spring Cloud Gateway搭建服務網關· 334
12.1 了解微服務網關· 334
12.2 Spring Cloud Gateway的核心概念——路由、謂詞和過濾器· 337
12.3 路由功能· 339
12.4 微服務架構改造——搭建網關模組· 343
12.5 微服務架構升級——使用Redis+Lua做流控 348
第13章 使用Sleuth進行調用鏈路追蹤· 354
13.1 為什麼微服務架構需要鏈路追蹤· 354
13.2 鏈路追蹤技術介紹· 356
13.3 Sleuth基本數據結構· 359
13.4 微服務架構升級——集成Sleuth實現鏈路追蹤· 361
13.5 微服務架構升級——搭建Zipkin伺服器· 362
13.6 微服務架構升級——搭建ELK環境 368
第14章 使用Stream集成訊息佇列· 375
14.1 了解Stream·· 375
14.2 訊息佇列在微服務架構中的套用· 376
14.3 訊息佇列的概念· 380
14.4 微服務架構升級——異步分發優惠券· 382
14.5 微服務架構升級——Stream異常處理· 387
14.6 Stream實現延遲訊息 391
第15章 使用Seata實現分散式事務· 396
15.1 為什麼需要分散式事務· 396
15.2 分散式事務的替代方案· 397
15.3 傳統的XA分散式事務解決方案· 398
15.4 Seata框架介紹· 400
15.5 Seata的AT模式· 402
15.6 微服務架構升級——搭建Seata伺服器· 410
15.7 微服務架構升級——套用改造 416
第16章 走進容器化的世界· 420
16.1 微服務落地的難點· 420
16.2 容器技術的演進· 432
16.3 容器編排技術先睹為快 436
第17章 Docker容器技術· 442
17.1 從HelloWorld起步· 442
17.2 Docker架構· 445
17.3 Docker鏡像· 452
17.4 Docker容器· 464
17.5 Docker存儲· 473
17.6 Docker網路· 481
17.7 進一步感受Docker的魅力· 488
17.8 鏡像倉庫· 499
17.9 【優惠券項目落地】——Docker容器化 502
第18章 Kubernetes基礎· 513
18.1 了解容器編排· 513
18.2 了解Kubernetes· 514
18.3 Kubernetes基本概念· 516
18.4 Kubernetes集群搭建· 520
18.5 Pod管理· 526
18.6 Controller管理· 540
18.7 【優惠券項目落地】——Kubernetes容器化管理 560
第19章 Kubernetes網路互聯· 564
19.1 跨節點網路 565
19.2 服務發現與負載均衡 566
19.3 【優惠券項目落地】——服務發現和互聯 577
第20章 Kubernetes數據存儲· 585
20.1 Volume卷 586
20.2 ConfigMap和Secret 594
20.3 【優惠券項目落地】——配置和磁碟管理 603
第21章 Kubernetes高級功能 606
21.1 容器化的非功能性需求 607
21.2 安全性 608
21.3 可用性 613
21.4 擴展性 616
21.5 易用性 622
21.6 可觀察性 629
21.7 【優惠券項目落地】——Kubernetes容器架構終態 637
第22章 Service Mesh· 647
22.1 Service Mesh在微服務中的套用 648
22.2 從BoofInfo樣例起步 650
22.3 了解Istio架構 657
22.4 服務治理 659
22.5 服務安全 671
22.6 服務監控 677
22.7 【優惠券項目落地】——非侵入式容器進階態 680
作者簡介
姚秋辰
PayPal China研發經理,擁有十餘年系統架構設計與團隊管理經驗,專注於網際網路電商、金融和支付等領域的高可用系統設計,在微服務系統的架構設計上有豐富的實踐經驗。曾就職於eBay、阿里、SAP和HP,參與或主導過多個大型套用的微服務改造、穩定性最佳化和主鏈路高可用等方案設計。
張昕
StubHub國際網際網路票務公司DevOps團隊和雲平台負責人,OpenGroup認證架構大師,前IBM和eBay高級架構師。十餘年系統架構設計與諮詢管理經驗,曾主導多家國內外大型金融機構、電信運營商和網際網路公司的系統最佳化、雲平台轉型、容災多活、單元化設計,對微服務拆分管理、容器編排部署、系統安全性、可用性、擴展性等設計有著豐富的實戰經驗。
卿睿
PayPal高級架構師,十多年的架構設計經驗,涉足的領域從企業套用到大型網際網路產品。在分散式和大型系統設計方面都有豐富的理論知識和實踐經驗,主導過多個全球性項目的架構設計和落地。對DDD有深入的認知,並基於此打造了多個從0到1的產品。此外,曾帶領團隊完成多個大型系統微服務化改造和雲架構遷移。曾先後在HP、Accenture和eBay等公司擔任架構師,專注於電商、合規等領域。