注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術工業(yè)技術建筑科學建筑設計Spring Cloud與Docker高并發(fā)微服務架構設計實施

Spring Cloud與Docker高并發(fā)微服務架構設計實施

Spring Cloud與Docker高并發(fā)微服務架構設計實施

定 價:¥79.00

作 者: 陳韶健
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787121341618 出版時間: 2018-06-01 包裝:
開本: 頁數: 字數:  

內容簡介

  《Spring Cloud與Docker高并發(fā)微服務架構設計實施》從架構設計、應用開發(fā)和運維部署三個方面出發(fā),對微服務架構設計的實施進行了全方位的闡述和深入實踐,并結合生產實際講解了Spring Cloud、Docker 和Jenkins 等工具的具體使用方法?!禨pring Cloud與Docker高并發(fā)微服務架構設計實施》中通過一個互聯網電商平臺實例實現了高并發(fā)的微服務架構設計,并通過詳細的開發(fā)和實施過程,演示了構建一個安全可靠、穩(wěn)定高效并可持續(xù)擴展的系統(tǒng)平臺的方法?!禨pring Cloud與Docker高并發(fā)微服務架構設計實施》適合互聯網應用開發(fā)設計人員參考學習。

作者簡介

  陳韶健,資深IT技術專家,著有《深入實踐Spring Boot》(2016年10月機械工業(yè)出版社)、《Neo4j全棧開發(fā)》(2017年6月電子工業(yè)出版社)等書籍,在虛擬化技術領域、數據庫使用和大數據分析、分布式架構設計、Spring等開源框架使用、微服務實施和開發(fā)等領域都有深入的研究和豐富的實踐經驗。未來研究方向:物聯網、智慧城市、AI人工智能等。

圖書目錄

第一部分 架構篇

1 微服務架構與 Spring Cloud 2

1.1 微服務概念的由來 2

1.2 微服務的定義 3

1.3 微服務架構與整體式架構的區(qū)別 5

1.4 微服務架構與SOA 的比較 8

1.5 為什么要使用微服務架構 9

1.6 為實施微服務架構做好準備 10

1.6.1 思想觀念的轉變 10

1.6.2 團隊管理方式的改變 11

1.6.3 自動化基礎設施的建設 11

1.7 為什么要使用Spring Cloud 12

1.8 Spring Cloud 組件介紹 13

1.9 Spring Cloud 的版本說明 15

1.10 小結 17

2 微服務架構最佳設計 18

2.1 合理劃分微服務 19

2.2 微服務治理 19?

2.3 Rest API 微服務設計 21

2.3.1 使用數據庫集群 22

2.3.2 讀寫分離設計 22

2.3.3 使用緩存 22

2.3.4 保證Rest API 微服務的獨立性 23

2.4 Web UI 微服務設計 23

2.4.1 使用FeignClient 實現負載均衡調用 23

2.4.2 使用Hystrix 實現容錯設計 23

2.4.3 使用非阻塞的異步編程技術實現高并發(fā)調用 24

2.4.4 使用分布式文件系統(tǒng) 24

2.5 微服務之間調用規(guī)則設計 24

2.6 數據最終一致性設計 25

2.7 分布式集群架構設計 26

2.8 微服務運行環(huán)境安全設計 27

2.9 小結 27

3 電商平臺微服務設計實例 29

3.1 電商平臺總體設計 29

3.1.1 總體業(yè)務流程設計 29

3.1.2 總體業(yè)務功能設計 31

3.2 電商平臺業(yè)務模型設計 32

3.2.1 移動商城業(yè)務模型 32

3.2.2 商家管理后臺業(yè)務模型 33

3.2.3 平臺管理后臺業(yè)務模型 33

3.3 創(chuàng)建Rest API 微服務 34

3.4 創(chuàng)建Web UI 微服務 36

3.4.1 移動商城Web UI 微服務 36

3.4.2 商家管理后臺的Web UI 微服務 37

3.4.3 平臺管理后臺Web UI 微服務 37

3.5 電商平臺微服務體系結構 38

3.6 小結 39

第二部分 開發(fā)篇

4 開發(fā)工具選用及 Spring Boot 基礎 41

4.1 開發(fā)工具選擇 42

4.2 開發(fā)環(huán)境配置 42

4.3 創(chuàng)建Spring Boot 工程 43

4.4 使用JPA 47

4.4.1 數據源配置 48

4.4.2 JPA 配置 48

4.4.3 數據實體設計 49

4.4.4 存儲庫接口設計 49

4.4.5 單元測試 50

4.5 使用Thymeleaf 51

4.5.1 控制器設計 51

4.5.2 視圖設計 52

4.6 運行與部署 52

4.7 小結 54

5 電商平臺微服務工程設計 55

5.1 微服務工程結構 55

5.2 電商平臺微服務工程組建 57

5.3 數據庫選型 57

5.4 微服務工程創(chuàng)建步驟 58

5.5 項目基本配置 60

5.6 創(chuàng)建模塊 64

5.7 小結 66

6 微服務治理基礎服務開發(fā) 67

6.1 注冊管理中心 68

6.1.1 創(chuàng)建注冊管理中心 68

6.1.2 運行注冊管理中心 70

6.1.3 微服務怎樣使用注冊管理中心 70

6.1.4 構建高可用的注冊管理中心 72

6.2 配置管理中心 73

6.2.1 創(chuàng)建配置管理中心 73

6.2.2 微服務如何使用配置管理中心 76

6.2.3 在線更新配置信息 77

6.3 微服務監(jiān)控中心 78

6.3.1 使用斷路器儀表盤實現監(jiān)控 79

6.3.2 聚合服務監(jiān)控管理中心 81

6.4 服務跟蹤分析中心 86

6.4.1 創(chuàng)建服務跟蹤分析中心 86

6.4.2 在微服務中啟用服務跟蹤功能 90

6.5 日志分析平臺 93

6.5.1 創(chuàng)建日志分析平臺 93

6.5.2 使用日志分析平臺 93

6.6 小結 94

7 Rest API 微服務開發(fā) 96

7.1 領域業(yè)務開發(fā) 96

7.1.1 使用Druid 數據源 98

7.1.2 JPA 及其配置 100

7.1.3 數據實體建模 101

7.1.4 查詢對象設計 104

7.1.5 實體持久化設計 106

7.1.6 持久化測試 107

7.1.7 領域服務開發(fā) 109

7.1.8 領域服務的單元測試 111

7.1.9 使用Redis 實現緩存設計 112

7.2 Rest API 應用開發(fā) 117

7.2.1 Rest API 應用配置 117

7.2.2 啟動程序設計 119

7.2.3 接口開發(fā) 119

7.3 使用消息處理事件 123

7.3.1 消息生產者設計 124

7.3.2 消息消費者設計 125

7.3.3 使用消息測試 128

7.4 小結 129

8 Web UI 微服務開發(fā) 131

8.1 高并發(fā)接口調用分層設計 131

8.2 通過FeignClient 調用Rest API 132

8.3 使用Hystrix 斷路器 134

8.4 使用非阻塞異步編程方法 136

8.4.1 CompletableFuture 介紹 137

8.4.2 性能比較測試 140

8.5 Web 應用開發(fā) 145

8.5.1 項目引用配置 145

8.5.2 應用程序配置 146

8.5.3 業(yè)務功能開發(fā) 148

8.6 開發(fā)環(huán)境的熱部署設置 154

8.7 使用分布式文件系統(tǒng) 157

8.7.1 分布式文件系統(tǒng)客戶端開發(fā) 157

8.7.2 商品圖片上傳設計 159

8.7.3 富文本編輯器上傳文件設計 160

8.7.4 建立本地文件信息庫 163

8.8 小結 166

9 電商平臺移動商城開發(fā) 167

9.1 移動商城首頁設計 168

9.2 使用負載均衡的導航設計 174

9.3 按分類查詢設計 176

9.4 商品詳情頁設計 179

9.5 購買下單實現 181

9.6 用戶登錄與賬戶切換設計 184

9.6.1 用戶登錄設計 184

9.6.2 切換賬號設計 186

9.7 訂單查詢設計 188

9.8 集成測試 191

9.9 小結 192

10 商家管理后臺與 SSO 設計 193

10.1 商家權限管理體系設計及開發(fā) 194

10.1.1 商家權限體系建模 195

10.1.2 商家權限體系的持久化設計 199

10.1.3 商家權限體系的領域服務開發(fā) 201

10.2 商家管理微服務開發(fā) 204

10.2.1 商家領域服務層單元測試 204

10.2.2 商家服務的接口開發(fā) 208

10.3 SSO 設計 213

10.3.1 SSO 基本配置 213

10.3.2 在SSO 中使用商家的權限體系 214

10.3.3 用戶登錄設計 216

10.3.4 有關驗證碼的說明 218

10.3.5 SSO 的主頁設計 220

10.3.6 OAuth2 服務端設計 222

10.4 SSO 客戶端設計 224

10.4.1 客戶端的項目管理配置 224

10.4.2 客戶端的安全管理配置 225

10.4.3 權限驗證實現原理 226

10.4.4 如何在應用中接入SSO 228

10.4.5 有關跨站請求偽造防御的相關設置 230

10.4.6 根據用戶權限自動分配菜單 230

10.5 小結 232

11 平臺管理后臺開發(fā) 233

11.1 平臺管理后臺領域設計 233

11.1.1 領域實體建模 233

11.1.2 實體的行為設計 236

11.1.3 領域服務開發(fā) 236

11.1.4 領域服務單元測試 239

11.2 平臺管理后臺訪問控制設計 240

11.2.1 使用平臺管理的用戶體系 240

11.2.2 權限管理設計 242

11.3 商家的注冊設計 245

11.4 商家菜單體系管理開發(fā) 248

11.4.1 分類菜單管理開發(fā) 248

11.4.2 模塊菜單管理開發(fā) 249

11.4.3 訪問資源管理開發(fā) 252

11.5 商家角色管理開發(fā) 255

11.6 小結 257

第三部分 運維篇

12 服務器架構設計與 Docker 使用 259

12.1 服務器組建 259

12.2 安全的服務器架構設計 260

12.2.1 防火墻安裝及配置 260

12.2.2 建立安全的局域網環(huán)境 264

12.3 服務器資源分配 266

12.4 CentOS 安裝 269

12.4.1 IP 地址設置 270

12.4.2 安全設置 270

12.4.3 語言配置 270

12.4.4 時間同步配置 271

12.5 Docker 和docker-compose 安裝 271

12.5.1 Docker 安裝及使用 272

12.5.2 docker-compose 安裝及使用 275

12.6 使用Docker 搭建微服務治理環(huán)境 279

12.6.1 服務器1 的部署配置 279

12.6.2 服務器2 的部署配置 281

12.7 使用Docker 部署日志分析平臺 283

12.8 使用Docker 部署微服務應用 286

12.9 小結 286

13 數據庫集群設計與高可用讀寫分離實施 288

13.1 MySQL 安裝 289

13.2 主從同步設置 291

13.3 主主同步設置 294

13.4 數據庫代理中間件選擇 296

13.5 使用OneProxy 實現讀寫分離設計 297

13.5.1 OneProxy 安裝 297

13.5.2 高可用讀寫分離配置 298

13.6 OneProxy 分庫分區(qū)設計 302

13.6.1 按范圍分庫分表 303

13.6.2 按值分庫分表 303

13.6.3 按哈希算法分庫分表 304

13.7 雙機熱備設計 306

13.8 小結 307

14 分布式文件系統(tǒng)等基礎設施安裝與配置 308

14.1 高可用的分布式文件系統(tǒng)構建 308

14.1.1 FastDFS 安裝 310

14.1.2 跟蹤服務器配置 310

14.1.3 存儲節(jié)點配置 311

14.1.4 上傳文件測試 312

14.1.5 Nginx 安裝及負載均衡配置 313

14.1.6 開機啟動設置 317

14.2 GitLab 安裝 322

14.3 Redis 安裝 324

14.4 RabbitMQ 安裝 326

14.5 小結 327

15 使用自動化構建工具 Jenkins 實現CI/CD 328

15.1 持續(xù)交付工作流程 330

15.2 Jenkins 安裝 331

15.3 Jenkins 基本配置 333

15.4 Jenkins 自動部署實例 335

15.4.1 創(chuàng)建任務 336

15.4.2 任務配置 337

15.4.3 執(zhí)行任務 340

15.5 小結 343

后記 345

參考文獻 346


本目錄推薦

掃描二維碼
Copyright ? 讀書網 m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號