SpringCloud微服務架構實戰

SpringCloud微服務架構實戰

《SpringCloud微服務架構實戰》是2020年3月電子工業出版社出版的圖書,作者是陳韶健。

基本介紹

  • 書名:SpringCloud微服務架構實戰
  • 作者:陳韶健
  • 出版社:電子工業出版社
  • 出版時間:2020年3月
  • 頁數:328 頁
  • 開本:16 開
  • ISBN:9787121382864
  • 字數:403千字
  • 版次:01-01
內容簡介,圖書目錄,

內容簡介

本書以Spring Cloud為主導,以電商平台為實例,從服務架構設計的角度,對架構設計、程式開發、運維部署三個層面進行了詳細的闡述。本書不僅詳細介紹了如何使用Spring Cloud工具套件進行微服務套用的開發,還介紹了如何結合Consul、Docker、Kubernets和Jenkins等的使用方法,將開發的微服務套用以一種可擴展的方式在雲端發布。通過對本書的系統學習,讀者可快速將所掌握的知識套用於實際工作中,提高自身的職業競爭力。本書的讀者對象為廣大的Java開發者、系統架構師和系統運維人員。本書特別適合使用過Spring開源框架或具有一定Spring框架基礎知識的讀者閱讀。

圖書目錄

第一部分 架構
第1章 微服務架構與Spring Cloud2
1.1 微服務架構的特點2
1.2 微服務架構與整體式架構的區別4
1.3 微服務架構與SOA的比較7
1.4 微服務架構的優勢8
1.5 為實施微服務架構做好準備9
1.5.1 思想觀念9
1.5.2 團隊管理10
1.5.3 自動化基礎設施10
1.6 Spring Cloud的優勢11
1.7 Spring Cloud工具套件介紹12
1.8 Spring Cloud的版本說明15
1.9 小結15
第2章 高並發微服務架構設計16
2.1 微服務總體架構設計16
2.2 自然的壓力分解18
2.3 可彈性伸縮的集群環境18
2.4 高度的獨立性設計19
2.5 API的分層調用關係19
2.6 高可用的基礎資源支持20
2.7 快速回響的自動化基礎設施21
2.8 完善的監控體系21
2.9 微服務的安全保障21
2.10 小結22
第3章 大型電商平台設計實例23
3.1 電商平台總體設計23
3.1.1 總體業務流程設計23
3.1.2 總體業務功能設計25
3.2 電商平台業務模型設計25
3.2.1 移動商城業務模型26
3.2.2 商家管理後台業務模型26
3.2.3 平台管理後台業務模型27
3.3 合理劃分微服務28
3.4 創建REST API微服務29
3.5 創建Web UI微服務30
3.5.1 移動商城Web UI微服務30
3.5.2 商家管理後台的Web UI微服務31
3.5.3 平台管理後台Web UI微服務31
3.6 電商平台微服務體系架構32
3.7 電商平台微服務項目工程33
3.8 微服務項目資料庫選型33
3.9 電商平台微服務項目代碼庫34
3.10 小結34
第二部分 開發
第4章 開發環境準備36
4.1 選擇Java SDK的版本36
4.2 下載InterlliJ IDEA37
4.3 下載及配置Git客戶端37
4.4 創建Spring Cloud項目38
4.5 小結39
第5章 微服務治理40
5.1 使用Consul創建註冊中心41
5.1.1 服務註冊與發現42
5.1.2 統一配置管理44
5.2 合理髮揮斷路器的作用46
5.3 如何實現有效的監控47
5.3.1 服務健康狀態監控47
5.3.2 重大故障告警49
5.3.3 斷路器儀錶盤49
5.4 Zipkin鏈路跟蹤52
5.5 ELK日誌分析平台55
5.5.1 創建日誌分析平台55
5.5.2 使用日誌分析平台56
5.6 小結57
第6章 類目管理微服務開發58
6.1 了解領域驅動設計58
6.1.1 DDD的分層結構59
6.1.2 DDD的基本元素59
6.2 Spring Data JPA59
6.2.1 Druid數據源配置60
6.2.2 JPA初始化和基本配置62
6.3 實體建模63
6.4 查詢對象設計65
6.5 數據持久化設計66
6.6 數據管理服務設計68
6.7 單元測試70
6.8 類目接口微服務開發71
6.8.1 RESTful接口開發71
6.8.2 微服務接口調試73
6.9 基於RESTful的微服務接口調用74
6.9.1 聲明式FeignClient設計74
6.9.2 斷路器的使用76
6.10 類目管理Web套用微服務開發76
6.10.1 接口調用引用相關配置77
6.10.2 Spring MVC控制器設計77
6.11 使用Thymeleaf模板78
6.11.1 HTML頁面設計79
6.11.2 統一風格模板設計80
6.12 總體測試82
6.13 有關項目打包與部署83
6.14 小結84
第7章 庫存管理與分散式檔案系統85
7.1 基於MyBatis的資料庫開發85
7.1.1 使用經過組裝的MyBatis組件85
7.1.2 數據對象及其表結構定義86
7.1.3 Mapper與SQL定製88
7.2 資料庫服務組裝89
7.3 單元測試91
7.4 庫存微服務接口開發92
7.4.1 在主程式中支持MyBatis92
7.4.2 基於REST協定的控制器設計93
7.5 庫存管理的Web套用開發94
7.5.1 公共對象的依賴引用95
7.5.2 商品分頁數據調用設計95
7.6 Web套用項目熱部署設定97
7.7 使用分散式檔案系統DFS99
7.7.1 分散式檔案系統客戶端開發99
7.7.2 商品圖片上傳設計102
7.7.3 富文本編輯器上傳圖片設計106
7.7.4 建立本地檔案信息庫108
7.8 總體測試112
7.9 小結114
第8章 海量訂單系統微服務開發115
8.1 使用MongoDB支持海量數據115
8.1.1 使用Mongo外掛程式115
8.1.2 MongoDB數據源相關配置116
8.2 訂單文檔建模117
8.2.1 訂單及其明細數據117
8.2.2 訂單狀態枚舉119
8.3 反應式MongoDB編程設計121
8.3.1 基於Spring Data的存儲庫接口設計121
8.3.2 動態分頁查詢設計121
8.4 Mongo單元測試123
8.5 訂單接口微服務開發125
8.6 訂單的分散式事務管理127
8.6.1 訂單取消的訊息生成127
8.6.2 訂單取消的庫存變化處理129
8.7 訂單管理後台微服務開發131
8.7.1 訂單查詢主頁設計131
8.7.2 訂單狀態修改設計133
8.8 集成測試135
8.9 小結137
第9章 移動商城的設計和開發138
9.1 移動商城首頁設計139
9.2 商城的分類查詢設計143
9.3 商品詳情頁設計145
9.4 用戶下單功能實現147
9.5 商城的用戶登錄與賬戶切換設計152
9.5.1 用戶登錄設計152
9.5.2 切換賬號設計155
9.6 訂單查詢設計156
9.7 集成測試160
9.8 小結162
第10章 商家管理後台與SSO設計163
10.1 商家許可權體系的設計及開發164
10.1.1 許可權管理模型設計165
10.1.2 許可權管理模型的持久化設計170
10.1.3 許可權管理模型的服務封裝171
10.2 商家管理微服務設計175
10.2.1 商家管理服務層單元測試175
10.2.2 商家服務的接口開發178
10.3 SSO設計183
10.3.1 SSO的基本配置183
10.3.2 SSO第三方套用授權設計184
10.3.3 SSO登錄認證設計186
10.3.4 有關驗證碼的說明191
10.3.5 SSO的主頁設計193
10.4 SSO客戶端設計196
10.4.1 安全認證的項目管理配置196
10.4.2 安全認證項目的配置類196
10.4.3 許可權管理驗證設計198
10.4.4 客戶端套用接入SSO201
10.4.5 有關跨站請求的相關設定203
10.4.6 根據用戶許可權自動分配選單203
10.5 小結206
第11章 平台管理後台與商家選單資源管理207
11.1 平台管理後台訪問控制設計207
11.1.1 實體建模207
11.1.2 為實體賦予行為210
11.1.3 數據訪問服務設計210
11.1.4 單元測試213
11.2 平台管理後台的訪問控制設計214
11.2.1 在訪問控制中使用操作員215
11.2.2 平台管理後台的許可權管理設計215
11.3 商家的註冊管理設計219
11.4 商家許可權及其選單資源管理設計222
11.4.1 分類選單管理設計222
11.4.2 模組選單管理設計224
11.4.3 資源選單管理設計228
11.5 商家角色管理設計232
11.6 小結236
第三部分 運維
第12章 雲服務環境與Docker部署工具238
12.1 虛擬機與基於Docker創建的容器238
12.2 安全可靠的雲服務環境239
12.3 Docker和docker-compose的下載與配置240
12.3.1 Docker引擎的安裝及使用240
12.3.2 docker-compose的下載及配置241
12.4 使用Docker方式發布微服務242
12.4.1 鏡像創建及其生成腳本242
12.4.2 服務發布與更新243
12.5 使用Docker部署日誌分析平台243
12.6 基於Docker的高級部署工具246
12.6.1 私域鏡像倉庫246
12.6.2 Docker Swarm247
12.6.3 Kubernetes249
12.7 小結253
第13章 可擴展分散式資料庫集群的搭建254
13.1 MySQL集群主機分配255
13.2 主從同步設定256
13.3 主主同步設定259
13.4 資料庫代理中間件選擇261
13.5 使用OneProxy實現讀寫分離設計261
13.5.1 安裝OneProxy262
13.5.2 高可用讀寫分離配置263
13.6 OneProxy分庫分區設計267
13.6.1 按範圍分庫分表268
13.6.2 按值列表分庫分表268
13.6.3 按散列算法分庫分表269
13.7 雙機熱備設計271
13.7.1 Real Server配置272
13.7.2 LVS主機配置273
13.7.3 LVS備用機配置275
13.8 小結277
第14章 高可用分散式檔案系統的組建278
14.1 FastDFS架構278
14.2 FastDFS的安裝279
14.3 跟蹤伺服器配置280
14.4 存儲節點配置281
14.5 上傳檔案測試282
14.6 Nginx的安裝及負載均衡配置283
14.6.1 在跟蹤器上安裝Nginx283
14.6.2 在存儲節點上安裝Nginx285
14.7 開機啟動287
14.7.1 開機啟動Tracker287
14.7.2 開機啟動Storage289
14.7.3 開機啟動Nginx291
14.8 小結293
第15章 使用Jenkins實現自動化構建294
15.1 持續交付工作流程295
15.2 Jenkins的安裝296
15.3 Jenkins的基本配置298
15.4 Jenkins的自動部署實例300
15.4.1 創建任務300
15.4.2 任務配置301
15.4.3 執行任務305
15.5 小結309
後記310
參考文獻311

相關詞條

熱門詞條

聯絡我們