目 錄
第 一篇 直麵微服務 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
· · · · · · (
收起)