Spring Cloud Alibaba大型微服務架構項目實戰(上冊)

Spring Cloud Alibaba大型微服務架構項目實戰(上冊)

《Spring Cloud Alibaba大型微服務架構項目實戰(上冊)》是電子工業出版社出版圖書,作者十三。

基本介紹

  • 中文名Spring Cloud Alibaba大型微服務架構項目實戰(上冊)
  • 作者:十三
  • 出版時間:2024年1月
  • 出版社:電子工業出版社
  • 頁數:452 頁
  • ISBN9787121468728
  • 定價:109 元
  • 開本:16 開
內容簡介,圖書目錄,

內容簡介

《Spring Cloud Alibaba大型微服務架構項目實戰(上冊)》分為14章。第1~4章主要介紹微服務的基本理論、Spring Cloud技術棧和配置基礎開發環境的方法,以及如何構建Spring Cloud Alibaba模板項目;第5~13章從服務通信和服務治理兩個重要的概念講起,主要講解如何使用Nacos、Sentinel、Seata、OpenFeign、Spring Cloud Gateway、Spring Cloud LoadBalancer、Spring Cloud Sleuth、Zipkin等微服務組件,介紹它們的原理和作用,以及如何搭建和整合這些組件並使用它們搭建微服務系統;第14章主要介紹使用這些微服務組件構建的一個大型微服務架構項目,包括它的主要功能模組、由單體模式到前後端分離模式再到微服務架構模式的開發歷程、微服務項目改造前的拆分思路、微服務架構實戰項目的啟動等注意事項,這個實戰項目詳細的開發步驟會整理在本套書的下冊中。
《Spring Cloud Alibaba大型微服務架構項目實戰(上冊)》內容豐富,案例通俗易懂,幾乎涵蓋了目前Spring Cloud的全部熱門組件,特別適合想要了解Spring Cloud熱門組件及想搭建微服務系統的讀者閱讀。

圖書目錄

第1章 千里之行:微服務架構學習路徑與建議 1
1.1 微服務架構的學習路徑 1
1.1.1 上手微服務架構項目會遇到哪些問題 2
1.1.2 梳理微服務架構 3
1.1.3 拆解微服務架構搭建的步驟 4
1.1.4 搭建並整合各個微服務組件 6
1.1.5 從零到一開發大型的微服務架構項目 6
1.2 章節規劃 8
1.2.1 微服務架構的基礎知識 8
1.2.2 微服務架構各組件的搭建與整合 8
1.2.3 微服務架構項目實戰 9
1.3 學前必備 10
1.4 學習建議 10
第2章 知己知彼:詳解微服務架構的前世今生 12
2.1 什麼是微服務架構 13
2.2 為什麼要使用微服務架構 15
2.2.1 架構的演進 15
2.2.2 微服務架構並不是石頭縫裡蹦出的孫悟空 21
2.2.3 哪些原因導致系統架構往微服務架構的方向演進 22
2.3 微服務架構的優缺點 23
2.3.1 微服務架構的優點 24
2.3.2 微服務架構的缺點 26
2.4 架構的盡頭是微服務嗎 27
2.5 系統架構升級改造時一定會用到微服務嗎 27
2.6 學習微服務架構有什麼好處 29
2.7 微服務架構中的常用技術 29
第3章 八面玲瓏:一站式解決方案——Spring Cloud技術棧 33
3.1 微服務架構中常用的技術及落地方案 33
3.2 Spring Cloud技術棧 35
3.3 Spring Cloud Netflix套件簡介 37
3.4 Spring Cloud Alibaba套件簡介 38
3.5 選擇Spring Cloud Alibaba的原因 40
第4章 有備無患:項目運行所需的開發環境和基礎模板代碼 42
4.1 JDK的安裝和配置 42
4.1.1 下載安裝包 42
4.1.2 安裝JDK 44
4.1.3 配置環境變數 45
4.1.4 JDK環境變數驗證 46
4.2 Maven的安裝和配置 47
4.2.1 下載安裝包 47
4.2.2 安裝並配置Maven 48
4.2.3 Maven環境變數驗證 49
4.2.4 配置國內Maven鏡像 49
4.3 開發工具IDEA的安裝與配置 51
4.3.1 安裝IDEA及其功能簡介 52
4.3.2 配置IDEA的Maven環境 54
4.3.3 Lombok外掛程式 55
4.4 Spring Boot簡介 56
4.5 Spring Boot項目創建 57
4.5.1 認識Spring Initializr 57
4.5.2 使用Spring Initializr初始化一個Spring Boot項目 58
4.5.3 使用IDEA編輯器初始化Spring Boot項目 59
4.6 Spring Boot項目目錄結構簡介 60
4.7 啟動Spring Boot項目 61
4.7.1 在IDEA編輯器中啟動Spring Boot項目 61
4.7.2 Maven外掛程式啟動 63
4.7.3 java -jar命令啟動 64
4.7.4 Spring Boot項目啟動日誌 65
4.8 開發第一個Spring Boot項目 66
4.9 構建Spring Cloud Alibaba模板項目 68
第5章 拉開帷幕:詳解服務通信與服務治理 74
5.1 認識服務通信 74
5.1.1 為什麼需要服務通信 74
5.1.2 服務通信簡介 76
5.2 HTTP調用之編碼實踐 77
5.2.1 被調用端編碼實現 79
5.2.2 使用HttpClient處理請求 81
5.2.3 使用RestTemplate處理請求 83
5.2.4 使用WebClient處理請求 85
5.3 為什麼需要服務治理 87
5.4 服務註冊和服務發現 90
5.4.1 服務註冊簡介 90
5.4.2 服務發現簡介 91
5.5 健康檢查機制 92
第6章 好戲開場:服務管理、註冊中心、配置中心——Nacos 94
6.1 Nacos簡介 94
6.2 Nacos下載與啟動 96
6.2.1 下載Nacos 96
6.2.2 啟動Nacos 97
6.3 修改Nacos持久化配置 100
6.4 Nacos整合之服務註冊編碼實踐 104
6.4.1 編寫服務代碼 104
6.4.2 在配置檔案中添加Nacos配置參數 107
6.4.3 服務註冊功能驗證 109
6.4.4 Nacos服務註冊源碼解析 112
6.5 Nacos整合之服務發現編碼實踐 119
6.5.1 編寫服務消費端的代碼 119
6.5.2 將服務註冊至Nacos 121
6.5.3 編寫服務通信代碼 122
6.5.4 服務發現的源碼分析 125
6.6 配置中心介紹 140
6.6.1 編碼中常用的配置方式分析 140
6.6.2 為什麼需要配置中心 142
6.6.3 什麼是配置中心 143
6.6.4 配置中心具備哪些功能 144
6.6.5 配置中心的優點 145
6.6.6 配置中心在微服務架構中的作用 146
6.7 整合Nacos配置中心編碼實踐 147
6.7.1 創建基礎工程 147
6.7.2 集成Nacos配置中心 151
6.7.3 Data ID詳解 155
6.7.4 整合Nacos配置中心功能驗證 156
6.8 集成Nacos實現配置動態刷新 158
6.8.1 實現業務開關 159
6.8.2 配置動態刷新功能的好處及套用場景 162
6.9 多配置檔案讀取 163
6.9.1 extension-configs配置項簡介 163
6.9.2 在配置中心創建多個配置檔案 164
6.9.3 在代碼中增加多配置讀取的配置及功能驗證 165
第7章 百里挑一:Spring Cloud LoadBalancer負載均衡器 167
7.1 認識負載均衡 167
7.2 Spring Cloud LoadBalancer簡介 168
7.3 負載均衡器的功能演示 169
7.4 Spring Cloud LoadBalancer自動配置源碼分析 172
7.5 引入負載均衡器後發起請求的源碼分析 177
7.5.1 RestTemplate中沒有攔截器時是怎樣工作的 177
7.5.2 被定製化後的RestTemplate對象是怎樣進入攔截器邏輯的 179
7.5.3 攔截器中處理請求的流程 180
7.6 內置負載均衡器的源碼分析 182
7.7 自定義負載均衡算法 184
7.8 服務通信和服務治理知識總結 187
7.9 multi-service-demo模板項目創建 189
第8章 雲中錦書:OpenFeign遠程調用實踐 195
8.1 OpenFeign簡介 195
8.2 編碼集成OpenFeign 196
8.3 OpenFeign參數傳遞編碼實踐 201
8.3.1 簡單類型處理 202
8.3.2 簡單對象類型處理 206
8.3.3 複雜對象類型處理 209
8.3.4 通用結果類Result 214
第9章 一夫當關:微服務網關——Spring Cloud Gateway 217
9.1 微服務網關介紹 217
9.1.1 認識微服務網關 217
9.1.2 網關層的主流技術選型 219
9.1.3 選擇Spring Cloud Gateway的原因 222
9.2 整合Spring Cloud Gateway編碼實踐 224
9.2.1 編碼整合Spring Cloud Gateway 224
9.2.2 將網關服務整合到服務中心 227
9.2.3 整合Spring Cloud Gateway報錯503的問題解決方法 230
9.3 微服務網關Spring Cloud Gateway之Predicate 231
9.3.1 Spring Cloud Gateway內置斷言工廠 231
9.3.2 自定義斷言編碼實踐 235
9.4 微服務網關Spring Cloud Gateway之Filter 239
9.4.1 Spring Cloud Gateway的內置過濾器 240
9.4.2 自定義網關過濾器 244
第10章 登高望遠:分散式事務解決方案——Seata 251
10.1 分散式事務詳解 251
10.1.1 資料庫事務簡介 251
10.1.2 分散式事務的問題演示編碼 257
10.1.3 分散式事務問題演示 271
10.2 分散式事務解決方案概覽 273
10.2.1 分散式事務產生的原因 273
10.2.2 分散式事務的解決方案 275
10.2.3 Alibaba Seata簡介 277
10.3 安裝Seata 278
10.3.1 下載Seata Server安裝包 278
10.3.2 Seata Server的持久化配置 278
10.4 Seata Server整合Nacos服務中心 282
10.4.1 配置Nacos的連線信息 283
10.4.2 啟動Seata Server 283
10.5 整合Seata解決分散式事務編碼實踐 285
10.5.1 創建undo_log表 285
10.5.2 整合Seata解決分散式事務 287
10.6 Seata整合後的基礎檢驗 290
10.6.1 服務註冊驗證 290
10.6.2 數據源代理驗證 291
10.6.3 服務實例與Seata Server的通信驗證 292
10.7 Seata中間件的重要概念 293
10.8 驗證分散式事務問題及日誌分析 295
10.9 Seata(AT模式)分散式事務的處理流程 302
第11章 防患未然:服務容錯解決方案——Sentinel 305
11.1 服務容錯詳解 305
11.1.1 為什麼要引入服務容錯組件 305
11.1.2 服務容錯落地方案:流量控制與降級熔斷 307
11.2 Sentinel簡介及控制台安裝 310
11.2.1 阿里的流量防衛兵——Sentinel 310
11.2.2 下載與啟動Sentinel控制台 312
11.3 整合Sentinel客戶端編碼實踐 314
11.4 Sentinel中的基本概念 317
11.4.1 資源 317
11.4.2 規則 318
11.5 限流策略和流控效果 319
11.5.1 限流策略之直接流控 319
11.5.2 限流策略之關聯流控 321
11.5.3 限流策略之鏈路流控 322
11.5.4 流控效果之快速失敗 323
11.5.5 流控效果之Warm Up 323
11.5.6 流控效果之排隊等待 325
11.5.7 規則配置及限流效果展示 326
11.6 熔斷策略配置實踐 329
11.6.1 熔斷策略簡介 330
11.6.2 異常熔斷的基礎編碼 331
11.6.3 熔斷策略配置及效果演示 333
11.7 內外結合:降級熔斷+流量控制 337
第12章 順藤摸瓜:鏈路追蹤解決方案——Spring Cloud Sleuth+Zipkin 339
12.1 服務鏈路追蹤及技術選型 339
12.1.1 什麼是鏈路追蹤 339
12.1.2 Spring Cloud Sleuth簡介 340
12.2 整合Spring Cloud Sleuth編碼實踐 342
12.2.1 基於Spring Cloud Sleuth的鏈路追蹤實現思路 342
12.2.2 代碼基礎改造 343
12.2.3 整合Spring Cloud Sleuth編碼 346
12.3 搭建Zipkin Server實現鏈路追蹤的可視化管理 350
12.3.1 搭建Zipkin Server的詳細過程 350
12.3.2 整合Zipkin Client編碼實踐 352
12.3.3 鏈路追蹤效果演示 353
第13章 運籌帷幄:Elastic Search + Logstash + Kibana日誌中心搭建 357
13.1 ELK——日誌收集、分析和展示的解決方案 357
13.1.1 認識ELK 357
13.1.2 ELK的工作流程 358
13.1.3 ELK的優勢 359
13.1.4 ELK增強版 359
13.2 搭建ELK日誌中心詳細過程 361
13.2.1 日誌環境搭建準備 361
13.2.2 搭建ELK日誌中心 364
13.3 Spring Boot項目將日誌輸出至ELK編碼實踐 370
13.4 Kibana配置索引模板和索引模式 373
13.4.1 配置索引模板 374
13.4.2 配置索引模式 375
13.4.3 通過Kibana查詢日誌 377
13.5 微服務架構項目實戰將日誌輸出至ELK編碼實踐 379
13.5.1 微服務架構項目中的日誌輸出配置 379
13.5.2 通過Kibana查詢日誌 382
第14章 一戰定乾坤:大型微服務架構項目設計與實戰 387
14.1 微服務實戰項目詳解 387
14.1.1 實戰項目簡介 387
14.1.2 新蜂商城項目的開源歷程 388
14.1.3 新蜂商城項目的功能及資料庫設計 390
14.2 由單體版到微服務架構版的拆分思路 392
14.3 微服務架構實戰項目源碼獲取和項目啟動 393
14.3.1 基礎環境準備及微服務組件安裝和配置 394
14.3.2 下載微服務架構實戰項目的項目源碼 394
14.3.3 微服務架構實戰項目的目錄結構 395
14.3.4 啟動並驗證微服務實例 399
14.4 微服務架構實戰項目的功能演示 408
14.4.1 商城用戶的註冊與登錄功能演示 408
14.4.2 把商品添加至購物車的功能演示 411
14.4.3 下單流程演示 415
14.4.4 後台管理系統的部分功能演示 419
14.5 微服務架構實戰項目開發過程 424
14.6 微服務架構實戰項目中接口的參數處理及統一結果回響 425
14.7 微服務架構實戰項目打包和部署的注意事項 427

相關詞條

熱門詞條

聯絡我們