定 價(jià):¥79.00
作 者: | 陳韶健 |
出版社: | 電子工業(yè)出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787121341618 | 出版時(shí)間: | 2018-06-01 | 包裝: | |
開(kāi)本: | 頁(yè)數(shù): | 字?jǐn)?shù): |
第一部分 架構(gòu)篇
1 微服務(wù)架構(gòu)與 Spring Cloud 2
1.1 微服務(wù)概念的由來(lái) 2
1.2 微服務(wù)的定義 3
1.3 微服務(wù)架構(gòu)與整體式架構(gòu)的區(qū)別 5
1.4 微服務(wù)架構(gòu)與SOA 的比較 8
1.5 為什么要使用微服務(wù)架構(gòu) 9
1.6 為實(shí)施微服務(wù)架構(gòu)做好準(zhǔn)備 10
1.6.1 思想觀念的轉(zhuǎn)變 10
1.6.2 團(tuán)隊(duì)管理方式的改變 11
1.6.3 自動(dòng)化基礎(chǔ)設(shè)施的建設(shè) 11
1.7 為什么要使用Spring Cloud 12
1.8 Spring Cloud 組件介紹 13
1.9 Spring Cloud 的版本說(shuō)明 15
1.10 小結(jié) 17
2 微服務(wù)架構(gòu)最佳設(shè)計(jì) 18
2.1 合理劃分微服務(wù) 19
2.2 微服務(wù)治理 19?
2.3 Rest API 微服務(wù)設(shè)計(jì) 21
2.3.1 使用數(shù)據(jù)庫(kù)集群 22
2.3.2 讀寫(xiě)分離設(shè)計(jì) 22
2.3.3 使用緩存 22
2.3.4 保證Rest API 微服務(wù)的獨(dú)立性 23
2.4 Web UI 微服務(wù)設(shè)計(jì) 23
2.4.1 使用FeignClient 實(shí)現(xiàn)負(fù)載均衡調(diào)用 23
2.4.2 使用Hystrix 實(shí)現(xiàn)容錯(cuò)設(shè)計(jì) 23
2.4.3 使用非阻塞的異步編程技術(shù)實(shí)現(xiàn)高并發(fā)調(diào)用 24
2.4.4 使用分布式文件系統(tǒng) 24
2.5 微服務(wù)之間調(diào)用規(guī)則設(shè)計(jì) 24
2.6 數(shù)據(jù)最終一致性設(shè)計(jì) 25
2.7 分布式集群架構(gòu)設(shè)計(jì) 26
2.8 微服務(wù)運(yùn)行環(huán)境安全設(shè)計(jì) 27
2.9 小結(jié) 27
3 電商平臺(tái)微服務(wù)設(shè)計(jì)實(shí)例 29
3.1 電商平臺(tái)總體設(shè)計(jì) 29
3.1.1 總體業(yè)務(wù)流程設(shè)計(jì) 29
3.1.2 總體業(yè)務(wù)功能設(shè)計(jì) 31
3.2 電商平臺(tái)業(yè)務(wù)模型設(shè)計(jì) 32
3.2.1 移動(dòng)商城業(yè)務(wù)模型 32
3.2.2 商家管理后臺(tái)業(yè)務(wù)模型 33
3.2.3 平臺(tái)管理后臺(tái)業(yè)務(wù)模型 33
3.3 創(chuàng)建Rest API 微服務(wù) 34
3.4 創(chuàng)建Web UI 微服務(wù) 36
3.4.1 移動(dòng)商城Web UI 微服務(wù) 36
3.4.2 商家管理后臺(tái)的Web UI 微服務(wù) 37
3.4.3 平臺(tái)管理后臺(tái)Web UI 微服務(wù) 37
3.5 電商平臺(tái)微服務(wù)體系結(jié)構(gòu) 38
3.6 小結(jié) 39
第二部分 開(kāi)發(fā)篇
4 開(kāi)發(fā)工具選用及 Spring Boot 基礎(chǔ) 41
4.1 開(kāi)發(fā)工具選擇 42
4.2 開(kāi)發(fā)環(huán)境配置 42
4.3 創(chuàng)建Spring Boot 工程 43
4.4 使用JPA 47
4.4.1 數(shù)據(jù)源配置 48
4.4.2 JPA 配置 48
4.4.3 數(shù)據(jù)實(shí)體設(shè)計(jì) 49
4.4.4 存儲(chǔ)庫(kù)接口設(shè)計(jì) 49
4.4.5 單元測(cè)試 50
4.5 使用Thymeleaf 51
4.5.1 控制器設(shè)計(jì) 51
4.5.2 視圖設(shè)計(jì) 52
4.6 運(yùn)行與部署 52
4.7 小結(jié) 54
5 電商平臺(tái)微服務(wù)工程設(shè)計(jì) 55
5.1 微服務(wù)工程結(jié)構(gòu) 55
5.2 電商平臺(tái)微服務(wù)工程組建 57
5.3 數(shù)據(jù)庫(kù)選型 57
5.4 微服務(wù)工程創(chuàng)建步驟 58
5.5 項(xiàng)目基本配置 60
5.6 創(chuàng)建模塊 64
5.7 小結(jié) 66
6 微服務(wù)治理基礎(chǔ)服務(wù)開(kāi)發(fā) 67
6.1 注冊(cè)管理中心 68
6.1.1 創(chuàng)建注冊(cè)管理中心 68
6.1.2 運(yùn)行注冊(cè)管理中心 70
6.1.3 微服務(wù)怎樣使用注冊(cè)管理中心 70
6.1.4 構(gòu)建高可用的注冊(cè)管理中心 72
6.2 配置管理中心 73
6.2.1 創(chuàng)建配置管理中心 73
6.2.2 微服務(wù)如何使用配置管理中心 76
6.2.3 在線更新配置信息 77
6.3 微服務(wù)監(jiān)控中心 78
6.3.1 使用斷路器儀表盤(pán)實(shí)現(xiàn)監(jiān)控 79
6.3.2 聚合服務(wù)監(jiān)控管理中心 81
6.4 服務(wù)跟蹤分析中心 86
6.4.1 創(chuàng)建服務(wù)跟蹤分析中心 86
6.4.2 在微服務(wù)中啟用服務(wù)跟蹤功能 90
6.5 日志分析平臺(tái) 93
6.5.1 創(chuàng)建日志分析平臺(tái) 93
6.5.2 使用日志分析平臺(tái) 93
6.6 小結(jié) 94
7 Rest API 微服務(wù)開(kāi)發(fā) 96
7.1 領(lǐng)域業(yè)務(wù)開(kāi)發(fā) 96
7.1.1 使用Druid 數(shù)據(jù)源 98
7.1.2 JPA 及其配置 100
7.1.3 數(shù)據(jù)實(shí)體建模 101
7.1.4 查詢對(duì)象設(shè)計(jì) 104
7.1.5 實(shí)體持久化設(shè)計(jì) 106
7.1.6 持久化測(cè)試 107
7.1.7 領(lǐng)域服務(wù)開(kāi)發(fā) 109
7.1.8 領(lǐng)域服務(wù)的單元測(cè)試 111
7.1.9 使用Redis 實(shí)現(xiàn)緩存設(shè)計(jì) 112
7.2 Rest API 應(yīng)用開(kāi)發(fā) 117
7.2.1 Rest API 應(yīng)用配置 117
7.2.2 啟動(dòng)程序設(shè)計(jì) 119
7.2.3 接口開(kāi)發(fā) 119
7.3 使用消息處理事件 123
7.3.1 消息生產(chǎn)者設(shè)計(jì) 124
7.3.2 消息消費(fèi)者設(shè)計(jì) 125
7.3.3 使用消息測(cè)試 128
7.4 小結(jié) 129
8 Web UI 微服務(wù)開(kāi)發(fā) 131
8.1 高并發(fā)接口調(diào)用分層設(shè)計(jì) 131
8.2 通過(guò)FeignClient 調(diào)用Rest API 132
8.3 使用Hystrix 斷路器 134
8.4 使用非阻塞異步編程方法 136
8.4.1 CompletableFuture 介紹 137
8.4.2 性能比較測(cè)試 140
8.5 Web 應(yīng)用開(kāi)發(fā) 145
8.5.1 項(xiàng)目引用配置 145
8.5.2 應(yīng)用程序配置 146
8.5.3 業(yè)務(wù)功能開(kāi)發(fā) 148
8.6 開(kāi)發(fā)環(huán)境的熱部署設(shè)置 154
8.7 使用分布式文件系統(tǒng) 157
8.7.1 分布式文件系統(tǒng)客戶端開(kāi)發(fā) 157
8.7.2 商品圖片上傳設(shè)計(jì) 159
8.7.3 富文本編輯器上傳文件設(shè)計(jì) 160
8.7.4 建立本地文件信息庫(kù) 163
8.8 小結(jié) 166
9 電商平臺(tái)移動(dòng)商城開(kāi)發(fā) 167
9.1 移動(dòng)商城首頁(yè)設(shè)計(jì) 168
9.2 使用負(fù)載均衡的導(dǎo)航設(shè)計(jì) 174
9.3 按分類查詢?cè)O(shè)計(jì) 176
9.4 商品詳情頁(yè)設(shè)計(jì) 179
9.5 購(gòu)買下單實(shí)現(xiàn) 181
9.6 用戶登錄與賬戶切換設(shè)計(jì) 184
9.6.1 用戶登錄設(shè)計(jì) 184
9.6.2 切換賬號(hào)設(shè)計(jì) 186
9.7 訂單查詢?cè)O(shè)計(jì) 188
9.8 集成測(cè)試 191
9.9 小結(jié) 192
10 商家管理后臺(tái)與 SSO 設(shè)計(jì) 193
10.1 商家權(quán)限管理體系設(shè)計(jì)及開(kāi)發(fā) 194
10.1.1 商家權(quán)限體系建模 195
10.1.2 商家權(quán)限體系的持久化設(shè)計(jì) 199
10.1.3 商家權(quán)限體系的領(lǐng)域服務(wù)開(kāi)發(fā) 201
10.2 商家管理微服務(wù)開(kāi)發(fā) 204
10.2.1 商家領(lǐng)域服務(wù)層單元測(cè)試 204
10.2.2 商家服務(wù)的接口開(kāi)發(fā) 208
10.3 SSO 設(shè)計(jì) 213
10.3.1 SSO 基本配置 213
10.3.2 在SSO 中使用商家的權(quán)限體系 214
10.3.3 用戶登錄設(shè)計(jì) 216
10.3.4 有關(guān)驗(yàn)證碼的說(shuō)明 218
10.3.5 SSO 的主頁(yè)設(shè)計(jì) 220
10.3.6 OAuth2 服務(wù)端設(shè)計(jì) 222
10.4 SSO 客戶端設(shè)計(jì) 224
10.4.1 客戶端的項(xiàng)目管理配置 224
10.4.2 客戶端的安全管理配置 225
10.4.3 權(quán)限驗(yàn)證實(shí)現(xiàn)原理 226
10.4.4 如何在應(yīng)用中接入SSO 228
10.4.5 有關(guān)跨站請(qǐng)求偽造防御的相關(guān)設(shè)置 230
10.4.6 根據(jù)用戶權(quán)限自動(dòng)分配菜單 230
10.5 小結(jié) 232
11 平臺(tái)管理后臺(tái)開(kāi)發(fā) 233
11.1 平臺(tái)管理后臺(tái)領(lǐng)域設(shè)計(jì) 233
11.1.1 領(lǐng)域?qū)嶓w建模 233
11.1.2 實(shí)體的行為設(shè)計(jì) 236
11.1.3 領(lǐng)域服務(wù)開(kāi)發(fā) 236
11.1.4 領(lǐng)域服務(wù)單元測(cè)試 239
11.2 平臺(tái)管理后臺(tái)訪問(wèn)控制設(shè)計(jì) 240
11.2.1 使用平臺(tái)管理的用戶體系 240
11.2.2 權(quán)限管理設(shè)計(jì) 242
11.3 商家的注冊(cè)設(shè)計(jì) 245
11.4 商家菜單體系管理開(kāi)發(fā) 248
11.4.1 分類菜單管理開(kāi)發(fā) 248
11.4.2 模塊菜單管理開(kāi)發(fā) 249
11.4.3 訪問(wèn)資源管理開(kāi)發(fā) 252
11.5 商家角色管理開(kāi)發(fā) 255
11.6 小結(jié) 257
第三部分 運(yùn)維篇
12 服務(wù)器架構(gòu)設(shè)計(jì)與 Docker 使用 259
12.1 服務(wù)器組建 259
12.2 安全的服務(wù)器架構(gòu)設(shè)計(jì) 260
12.2.1 防火墻安裝及配置 260
12.2.2 建立安全的局域網(wǎng)環(huán)境 264
12.3 服務(wù)器資源分配 266
12.4 CentOS 安裝 269
12.4.1 IP 地址設(shè)置 270
12.4.2 安全設(shè)置 270
12.4.3 語(yǔ)言配置 270
12.4.4 時(shí)間同步配置 271
12.5 Docker 和docker-compose 安裝 271
12.5.1 Docker 安裝及使用 272
12.5.2 docker-compose 安裝及使用 275
12.6 使用Docker 搭建微服務(wù)治理環(huán)境 279
12.6.1 服務(wù)器1 的部署配置 279
12.6.2 服務(wù)器2 的部署配置 281
12.7 使用Docker 部署日志分析平臺(tái) 283
12.8 使用Docker 部署微服務(wù)應(yīng)用 286
12.9 小結(jié) 286
13 數(shù)據(jù)庫(kù)集群設(shè)計(jì)與高可用讀寫(xiě)分離實(shí)施 288
13.1 MySQL 安裝 289
13.2 主從同步設(shè)置 291
13.3 主主同步設(shè)置 294
13.4 數(shù)據(jù)庫(kù)代理中間件選擇 296
13.5 使用OneProxy 實(shí)現(xiàn)讀寫(xiě)分離設(shè)計(jì) 297
13.5.1 OneProxy 安裝 297
13.5.2 高可用讀寫(xiě)分離配置 298
13.6 OneProxy 分庫(kù)分區(qū)設(shè)計(jì) 302
13.6.1 按范圍分庫(kù)分表 303
13.6.2 按值分庫(kù)分表 303
13.6.3 按哈希算法分庫(kù)分表 304
13.7 雙機(jī)熱備設(shè)計(jì) 306
13.8 小結(jié) 307
14 分布式文件系統(tǒng)等基礎(chǔ)設(shè)施安裝與配置 308
14.1 高可用的分布式文件系統(tǒng)構(gòu)建 308
14.1.1 FastDFS 安裝 310
14.1.2 跟蹤服務(wù)器配置 310
14.1.3 存儲(chǔ)節(jié)點(diǎn)配置 311
14.1.4 上傳文件測(cè)試 312
14.1.5 Nginx 安裝及負(fù)載均衡配置 313
14.1.6 開(kāi)機(jī)啟動(dòng)設(shè)置 317
14.2 GitLab 安裝 322
14.3 Redis 安裝 324
14.4 RabbitMQ 安裝 326
14.5 小結(jié) 327
15 使用自動(dòng)化構(gòu)建工具 Jenkins 實(shí)現(xiàn)CI/CD 328
15.1 持續(xù)交付工作流程 330
15.2 Jenkins 安裝 331
15.3 Jenkins 基本配置 333
15.4 Jenkins 自動(dòng)部署實(shí)例 335
15.4.1 創(chuàng)建任務(wù) 336
15.4.2 任務(wù)配置 337
15.4.3 執(zhí)行任務(wù) 340
15.5 小結(jié) 343
后記 345
參考文獻(xiàn) 346