Spring Cloud Alibaba大型微服務(wù)架構(gòu)項(xiàng)目實(shí)戰(zhàn)(下冊(cè))
定 價(jià):99 元
- 作者:十三
- 出版時(shí)間:2024/9/1
- ISBN:9787121486630
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP368.5
- 頁碼:332
- 紙張:
- 版次:01
- 開本:16開
本書重在引導(dǎo)讀者體驗(yàn)真實(shí)的項(xiàng)目開發(fā),圍繞Spring Cloud Alibaba技術(shù)棧全面展開,兼顧相關(guān)技術(shù)的知識(shí)拓展,由淺入深,步步為營,對(duì)一個(gè)單體API項(xiàng)目進(jìn)行拆解和微服務(wù)化,并從零到一落地一個(gè)功能完整、流程完善的微服務(wù)項(xiàng)目。本書的目標(biāo)是讓讀者擁有完整且高質(zhì)量的學(xué)習(xí)體驗(yàn),遠(yuǎn)離“Hello World”項(xiàng)目,為技術(shù)深度的挖掘和薪水、職位的提升提供保障。本書分為13章。第1章主要介紹大型微服務(wù)架構(gòu)實(shí)戰(zhàn)項(xiàng)目,包括它的主要功能模塊、從單體模式到前后端分離模式再到微服務(wù)架構(gòu)模式的開發(fā)歷程、微服務(wù)項(xiàng)目改造前的拆分思路、微服務(wù)架構(gòu)實(shí)戰(zhàn)項(xiàng)目的啟動(dòng)等注意事項(xiàng)。第2章至第8章主要介紹微服務(wù)架構(gòu)項(xiàng)目的開發(fā)過程,介紹每個(gè)開發(fā)步驟、每個(gè)微服務(wù)模塊的編碼過程、每個(gè)微服務(wù)組件的整合,主要涉及的微服務(wù)組件是Nacos、OpenFeign和Spring Cloud LoadBalancer。第9章至第13章對(duì)實(shí)戰(zhàn)的微服務(wù)架構(gòu)項(xiàng)目進(jìn)行補(bǔ)充,將Spring Cloud Gateway、Sentinel、Seata、Spring Cloud Sleuth、Zipkin等微服務(wù)組件整合到實(shí)戰(zhàn)項(xiàng)目中,并對(duì)過程中遇到的問題進(jìn)行復(fù)盤及處理。本書實(shí)戰(zhàn)項(xiàng)目整合熱門的微服務(wù)架構(gòu)組件,手把手地教讀者如何在實(shí)戰(zhàn)中運(yùn)用這些知識(shí)點(diǎn),讓讀者掌握高階的使用技巧,并且能夠?qū)⑵溥\(yùn)用到實(shí)際生產(chǎn)項(xiàng)目中。本書的內(nèi)容豐富,案例通俗易懂,幾乎涵蓋了目前Spring Cloud的全部熱門組件,特別適合想要了解Spring Cloud熱門組件及想搭建微服務(wù)系統(tǒng)的讀者閱讀。
韓帥,筆名十三,企業(yè)技術(shù)主管、CSDN博客專家、視頻講師。畢業(yè)于安徽省巢湖學(xué)院,具有多年一線開發(fā)經(jīng)驗(yàn),歷任高級(jí)開發(fā)工程師、產(chǎn)品線后端負(fù)責(zé)人、技術(shù)部門主管等職位。熟練使用Java、SQL、Spring Boot、Vue等計(jì)算機(jī)語言和開發(fā)框架,有非常豐富的開發(fā)經(jīng)驗(yàn),同時(shí)也是開源項(xiàng)目的愛好者和貢獻(xiàn)者。
第1章 大型微服務(wù)架構(gòu)項(xiàng)目設(shè)計(jì)與實(shí)戰(zhàn) 1
1.1 微服務(wù)架構(gòu)實(shí)戰(zhàn)項(xiàng)目詳解 1
1.1.1 實(shí)戰(zhàn)項(xiàng)目介紹 2
1.1.2 新蜂商城項(xiàng)目的開源歷程 3
1.1.3 新蜂商城項(xiàng)目的功能及數(shù)據(jù)庫設(shè)計(jì) 4
1.2 從單體項(xiàng)目到微服務(wù)架構(gòu)項(xiàng)目的拆分思路 6
1.3 微服務(wù)架構(gòu)實(shí)戰(zhàn)項(xiàng)目源代碼獲取和項(xiàng)目啟動(dòng) 8
1.3.1 基礎(chǔ)環(huán)境準(zhǔn)備及微服務(wù)組件安裝和配置 8
1.3.2 下載微服務(wù)架構(gòu)實(shí)戰(zhàn)項(xiàng)目的項(xiàng)目源代碼 8
1.3.3 微服務(wù)架構(gòu)實(shí)戰(zhàn)項(xiàng)目的目錄結(jié)構(gòu)講解 10
1.3.4 啟動(dòng)并驗(yàn)證微服務(wù)實(shí)例 13
1.4 微服務(wù)架構(gòu)實(shí)戰(zhàn)項(xiàng)目的功能演示 21
1.4.1 商城用戶的注冊(cè)與登錄演示 21
1.4.2 把商品添加到購物車的功能演示 25
1.4.3 下單流程演示 28
1.4.4 后臺(tái)管理系統(tǒng)的部分功能演示 32
1.5 微服務(wù)架構(gòu)實(shí)戰(zhàn)項(xiàng)目中接口的參數(shù)處理及統(tǒng)一結(jié)果響應(yīng) 38
1.6 微服務(wù)架構(gòu)實(shí)戰(zhàn)項(xiàng)目打包和部署的注意事項(xiàng) 41
第2章 實(shí)戰(zhàn)項(xiàng)目基礎(chǔ)構(gòu)建及公共模塊引入 48
2.1 編碼前的準(zhǔn)備 48
2.2 搭建項(xiàng)目骨架 49
2.2.1 構(gòu)建項(xiàng)目并整理依賴關(guān)系 49
2.2.2 編寫測(cè)試代碼 54
2.3 用戶微服務(wù)編碼 58
2.3.1 引入業(yè)務(wù)依賴 58
2.3.2 用戶模塊中的接口改造 60
2.3.3 用戶微服務(wù)改造過程中遇到的問題總結(jié) 62
2.4 引入公共模塊 64
2.5 用戶微服務(wù)模塊改造 66
2.6 OpenFeign編碼暴露遠(yuǎn)程接口 71
2.7 遠(yuǎn)程調(diào)用Feign包應(yīng)該如何設(shè)置 72
第3章 用戶微服務(wù)編碼實(shí)踐及功能講解 74
3.1 登錄流程介紹 74
3.1.1 什么是登錄 74
3.1.2 用戶登錄狀態(tài) 75
3.1.3 登錄流程設(shè)計(jì) 75
3.2 登錄功能源代碼介紹 78
3.3 token值處理及鑒權(quán)源代碼介紹 80
3.4 用戶微服務(wù)代碼改造 83
3.4.1 引入Redis組件進(jìn)行鑒權(quán)改造 83
3.4.2 用戶微服務(wù)中登錄代碼及鑒權(quán)代碼修改 86
3.5 網(wǎng)關(guān)層鑒權(quán) 88
3.5.1 在網(wǎng)關(guān)層引入Redis 88
3.5.2 鑒權(quán)的全局過濾器編碼實(shí)現(xiàn) 89
3.5.3 功能測(cè)試 91
第4章 商品微服務(wù)編碼實(shí)踐及功能講解 95
4.1 商品微服務(wù)模塊介紹 95
4.1.1 商品分類管理模塊介紹 95
4.1.2 商品管理模塊介紹 99
4.2 創(chuàng)建商品微服務(wù)編碼 103
4.3 商品微服務(wù)與用戶微服務(wù)通信 108
4.3.1 為什么需要調(diào)用用戶中心服務(wù) 109
4.3.2 商品微服務(wù)調(diào)用用戶中心編碼實(shí)踐 110
4.3.3 功能測(cè)試 113
4.4 商品微服務(wù)編碼 117
4.4.1 商品微服務(wù)代碼改造 117
4.4.2 OpenFeign編碼暴露遠(yuǎn)程接口 120
4.4.3 功能測(cè)試 121
4.5 改造過程中遇到的問題總結(jié) 124
4.5.1 問題1:循環(huán)依賴 124
4.5.2 問題2:缺少loadbalancer依賴 125
第5章 推薦微服務(wù)編碼實(shí)踐及功能講解 126
5.1 推薦微服務(wù)主要功能模塊介紹 126
5.1.1 輪播圖管理模塊介紹 126
5.1.2 商品推薦管理模塊介紹 129
5.1.3 表結(jié)構(gòu)設(shè)計(jì) 130
5.2 創(chuàng)建推薦微服務(wù)編碼 133
5.3 推薦微服務(wù)編碼 139
5.3.1 推薦微服務(wù)調(diào)用用戶中心編碼實(shí)踐 139
5.3.2 推薦微服務(wù)編碼 141
5.3.3 推薦微服務(wù)遠(yuǎn)程調(diào)用商品微服務(wù)編碼實(shí)踐 144
5.3.4 功能測(cè)試 147
第6章 用戶微服務(wù)及商品微服務(wù)功能完善 151
6.1 增加商城用戶的相關(guān)功能 151
6.1.1 商城用戶模塊介紹 151
6.1.2 商城用戶功能模塊編碼 152
6.1.3 商城用戶模塊代碼完善 154
6.1.4 OpenFeign編碼暴露遠(yuǎn)程接口 158
6.1.5 商城用戶鑒權(quán)功能測(cè)試 160
6.2 新增商城端網(wǎng)關(guān)模塊 164
6.2.1 創(chuàng)建商城端網(wǎng)關(guān)newbee-mall-cloud-gateway-mall 164
6.2.2 商城端網(wǎng)關(guān)功能測(cè)試 168
6.3 商城首頁數(shù)據(jù)的接口實(shí)現(xiàn) 170
6.3.1 商城首頁的排版設(shè)計(jì) 171
6.3.2 首頁接口的響應(yīng)結(jié)果設(shè)計(jì) 172
6.3.3 業(yè)務(wù)層代碼的實(shí)現(xiàn) 174
6.3.4 調(diào)用商品微服務(wù)進(jìn)行數(shù)據(jù)的查詢與封裝 175
6.3.5 首頁接口控制層代碼的實(shí)現(xiàn) 177
6.3.6 首頁接口網(wǎng)關(guān)配置 179
6.4 商城分類頁面的接口實(shí)現(xiàn) 180
6.4.1 分類頁面的接口響應(yīng)數(shù)據(jù) 180
6.4.2 業(yè)務(wù)層代碼的實(shí)現(xiàn) 182
6.4.3 分類頁面數(shù)據(jù)接口控制層代碼的實(shí)現(xiàn) 185
6.4.4 分類接口網(wǎng)關(guān)配置 187
6.5 商品列表和商品詳情頁面的接口實(shí)現(xiàn) 187
6.5.1 接口傳參解析及返回字段定義 188
6.5.2 業(yè)務(wù)層代碼的實(shí)現(xiàn) 191
6.5.3 控制層代碼的實(shí)現(xiàn) 194
6.5.4 商品接口網(wǎng)關(guān)配置 197
6.6 商城端部分接口的功能測(cè)試 198
6.6.1 獲取首頁數(shù)據(jù)的接口測(cè)試 198
6.6.2 獲取分類頁面的數(shù)據(jù)接口測(cè)試 201
第7章 購物車微服務(wù)編碼實(shí)踐及功能講解 205
7.1 購物車微服務(wù)主要功能介紹 205
7.1.1 購物車模塊介紹 205
7.1.2 購物車模塊表結(jié)構(gòu)設(shè)計(jì) 206
7.2 創(chuàng)建購物車微服務(wù)模塊 207
7.3 遠(yuǎn)程調(diào)用用戶微服務(wù)及其他注意事項(xiàng) 212
7.4 購物車微服務(wù)編碼 215
7.4.1 購物車微服務(wù)代碼改造 216
7.4.2 網(wǎng)關(guān)模塊配置 218
7.5 購物車微服務(wù)遠(yuǎn)程調(diào)用商品微服務(wù)編碼實(shí)踐 219
7.6 購物車微服務(wù)功能測(cè)試 222
7.7 OpenFeign編碼暴露遠(yuǎn)程接口 226
第8章 訂單微服務(wù)編碼實(shí)踐及功能講解 228
8.1 訂單微服務(wù)主要功能模塊介紹 228
8.1.1 訂單模塊介紹 228
8.1.2 訂單模塊的表結(jié)構(gòu)設(shè)計(jì) 229
8.1.3 訂單模塊中的主要功能分析 234
8.1.4 訂單處理流程及訂單狀態(tài)的介紹 239
8.2 創(chuàng)建訂單微服務(wù)模塊 242
8.3 訂單微服務(wù)編碼 243
8.4 訂單微服務(wù)遠(yuǎn)程調(diào)用商品微服務(wù)和購物車微服務(wù)編碼實(shí)踐 246
8.5 訂單微服務(wù)功能測(cè)試 252
8.5.1 添加收貨地址接口演示 253
8.5.2 生成訂單接口演示 255
8.5.3 訂單列表接口演示 256
第9章 Spring Cloud Gateway聚合Swagger接口 259
9.1 為什么要聚合Swagger 259
9.2 網(wǎng)關(guān)層聚合Swagger的實(shí)現(xiàn)思路 260
9.3 網(wǎng)關(guān)層聚合Swagger編碼 263
第10章 微服務(wù)架構(gòu)實(shí)戰(zhàn)項(xiàng)目中整合Seata 268
10.1 實(shí)戰(zhàn)項(xiàng)目中整合Seata編碼實(shí)踐 268
10.2 “分支事務(wù)不回滾”問題的復(fù)盤 271
10.2.1 發(fā)現(xiàn)問題 271
10.2.2 嘗試解決問題 271
10.2.3 分析問題產(chǎn)生的原因 272
10.2.4 查看源代碼并確定問題所在 273
10.2.5 解決問題 275
第11章 微服務(wù)架構(gòu)實(shí)戰(zhàn)項(xiàng)目中整合Sentinel 278
11.1 實(shí)戰(zhàn)項(xiàng)目中整合Sentinel編碼實(shí)踐 278
11.2 “Sentinel控制臺(tái)頁面中的微服務(wù)數(shù)據(jù)空白”問題的處理 280
11.2.1 錯(cuò)誤的解決思路 280
11.2.2 正確的解決思路 282
第12章 微服務(wù)架構(gòu)實(shí)戰(zhàn)項(xiàng)目中整合Seluth、Zipkin 291
12.1 整合Spring Cloud Sleuth編碼實(shí)踐 291
12.2 在全局異常處理類中增加日志 305
12.3 整合Zipkin實(shí)踐 307
第13章 微服務(wù)架構(gòu)實(shí)戰(zhàn)項(xiàng)目中整合ELK日志中心 311
13.1 微服務(wù)架構(gòu)項(xiàng)目中的日志輸出配置 311
13.2 通過Kibana查詢?nèi)罩?314
13.2.1 查看日志 314
13.2.2 日志定時(shí)刷新 315
13.2.3 常用的日志搜索條件 316
13.2.4 根據(jù)traceId搜索日志 317