《微服務設計原理與架構》是2019年5月人民郵電出版社出版的圖書,作者是鄭天民。
基本介紹
- 書名:微服務設計原理與架構
- 作者:鄭天民
- ISBN:9787115478825
- 頁數:292頁
- 定價:59.8元
- 出版社:人民郵電出版社
- 出版時間:2019年5月
- 裝幀:平裝
- 開本:小16開
內容簡介,圖書目錄,
內容簡介
本書共分為四大篇幅內容,包括:
1. 直面微服務篇,剖析微服務架構的基本特徵、優勢和劣勢,並給出實施微服務架構的系統方法。
2. 服務建模篇,介紹服務建模的思路和方法,並從服務拆分和集成角度對服務模型進行重點展開。
3. 服務實現篇,介紹微服務架構涉及的基礎組件、關鍵要素以及目前主流的技術實現體系。
4. 服務轉型篇,包括對遺留系統進行微服務架構的改造方法以及對研發過程轉型的討論。
圖書目錄
第 一篇 直面微服務 1
第 1 章 直面微服務架構 2
1.1 分散式系統 3
1.1.1 單塊系統的問題 3
1.1.2 分散式系統的基本特徵 6
1.2 微服務架構 8
1.2.1 微服務的概念 9
1.2.2 微服務架構基礎 10
1.2.3 微服務架構與現有架構體系
對比 12
1.3 構建微服務架構的系統方法 14
1.3.1 服務模型 15
1.3.2 實現技術 15
1.3.3 基礎設施 16
1.3.4 研發過程 16
1.4 微服務架構的優勢 16
1.4.1 技術優勢 16
1.4.2 業務與組織優勢 18
1.5 微服務架構的挑戰 20
1.5.1 技術架構挑戰 20
1.5.2 研發過程挑戰 21
1.6 實施微服務架構 22
1.6.1 微服務架構實施前提 22
1.6.2 微服務架構實施模式 23
1.7 本章小結 23
第二篇 服務建模 24
第 2 章 服務建模方法 25
2.1 服務分類 25
2.1.1 服務的基本類別 26
2.1.2 服務與業務 29
2.2 服務模型 30
2.2.1 服務的概念模型 31
2.2.2 服務的統一表現形式 32
2.3 服務邊界 33
2.3.1 識別業務領域及邊界 33
2.3.2 界限上下文 36
2.3.3 服務邊界劃分的原則 41
2.4 服務數據 41
2.4.1 規範化數據模型的問題 41
2.4.2 數據去中心化 42
2.5 本章小結 47
第3 章 服務拆分與集成 48
3.1 服務拆分 49
3.1.1 服務拆分的維度 49
3.1.2 服務拆分的策略 50
3.1.3 管理服務的依賴關係 53
3.1.4 管理服務的數據 56
3.1.5 管理事務的邊界 59
3.2 服務集成 61
3.2.1 系統集成基礎 61
3.2.2 RPC 62
3.2.3 REST 64
3.2.4 訊息傳遞 70
3.2.5 服務匯流排 72
3.2.6 數據複製 74
3.2.7 客戶端集成 76
3.2.8 外部集成 78
3.3 本章小結 80
第三篇 服務實現 81
第4 章 微服務架構基礎組件 82
4.1 服務通信 82
4.1.1 網路連線 82
4.1.2 IO 模型 83
4.1.3 可靠性 85
4.1.4 同步與異步 85
4.2 事件驅動 88
4.2.1 基本事件驅動架構 88
4.2.2 事件驅動架構與領域模型 89
4.3 負載均衡 92
4.3.1 伺服器端負載均衡 92
4.3.2 客戶端負載均衡 93
4.3.3 負載均衡算法 94
4.4 服務路由 95
4.4.1 直接路由 95
4.4.2 間接路由 96
4.4.3 路由規則 96
4.5 API 網關 97
4.5.1 網關的作用 98
4.5.2 網關的功能 99
4.6 配置管理 100
4.6.1 配置中心模型 101
4.6.2 分散式協調機制 102
4.7 本章小結 104
第5 章 微服務架構關鍵要素 105
5.1 服務治理 106
5.1.1 服務註冊中心 106
5.1.2 服務發布與註冊 109
5.1.3 服務發現與調用 110
5.1.4 服務監控 111
5.2 數據一致性 113
5.2.1 分散式事務 113
5.2.2 CAP 理論與BASE 思想 116
5.2.3 可靠事件模式 118
5.2.4 補償模式 124
5.2.5 Sagas 長事務模式 126
5.2.6 TCC 模式 127
5.2.7 最大努力通知模式 133
5.2.8 人工干預模式 135
5.2.9 數據一致性模式總結 135
5.3 服務可靠性 136
5.3.1 服務訪問失敗的原因 136
5.3.2 服務失敗的應對策略 138
5.3.3 服務容錯 139
5.3.4 服務隔離 140
5.3.5 服務限流 143
5.3.6 服務降級 145
5.4 本章小結 148
第6 章 微服務架構實現技術 149
6.1 微服務架構實現技術選型 149
6.1.1 技術選型的參考標準 150
6.1.2 微服務實現框架對比 152
6.2 Spring Boot 153
6.2.1 Spring Boot 概覽 154
6.2.2 Spring Boot 核心原理 155
6.3 Spring Cloud 157
6.3.1 Spring Cloud 概覽 157
6.3.2 Spring Cloud Netflix Eureka
與服務治理 159
6.3.3 Spring Cloud Netflix Ribbon
與負載均衡 165
6.3.4 Spring Cloud Netflix Hystrix
與服務容錯 168
6.3.5 Spring Cloud Netflix Zuul 與
API 網關 177
6.3.6 Spring Cloud Config 與配置
中心 180
6.4 案例分析 184
6.4.1 服務建模 184
6.4.2 服務架構設計 186
6.4.3 服務實現 188
6.5 本章小結 193
第7 章 微服務架構管理體系 194
7.1 服務測試 194
7.1.1 微服務測試的維度 195
7.1.2 微服務測試實現方法 198
7.1.3 消費者驅動的契約測試 200
7.2 服務交付與部署 205
7.2.1 微服務交付管理 205
7.2.2 基於Docker 部署微服務 209
7.3 服務監控 219
7.3.1 日誌聚合 220
7.3.2 服務跟蹤 224
7.4 服務安全 227
7.4.1 通用安全性技術 228
7.4.2 安全性協定 230
7.4.3 微服務中的安全性設計 235
7.5 本章小結 237
第四篇 服務轉型 239
第8 章 向微服務架構轉型 240
8.1 微服務架構轉型過程與方法 241
8.1.1 調整架構的技術 242
8.1.2 微服務架構與現有系統 245
8.1.3 微服務實施最佳實踐 251
8.2 微服務架構與研發過程轉變 256
8.2.1 產品管理轉變 256
8.2.2 組織架構轉變 259
8.2.3 研發文化轉變 262
8.3 微服務架構轉型案例分析 264
8.3.1 系統描述 264
8.3.2 微服務架構改造整體方案 268
8.3.3 微服務架構改造第 一階段 268
8.3.4 微服務架構改造第二階段 273
8.3.5 微服務架構改造第三階段 280
8.3.6 微服務架構改造第四階段 285
8.4 本章小結 290
參考文獻 291