中台架構與實現:基於DDD和微服務

中台架構與實現:基於DDD和微服務

《中台架構與實現:基於DDD和微服務》是一本機械工業出版社出版的圖書,作者是歐創新和鄧頔。

基本介紹

  • 書名:中台架構與實現:基於DDD和微服務
  • 作者:歐創新、鄧頔
  • 類別:軟體設計-研究
  • 出版社機械工業出版社 
  • 出版時間:2020年10月
  • 頁數:305 頁
  • 定價:89 元 
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787111666301
內容介紹,圖書目錄,作者簡介,

內容介紹

本書共分為六個部分:
第壹部分 認識中台(第1~4章)
主要從業務中台、數據中台、技術中台以及與之匹配的組織架構等多個方面分析傳統企業中台轉型應該具備的能力,帶你初步了解DDD是如何指導中台和微服務設計,並釐清它們的協作關係。
第二部分 DDD基本原理(第5~11章)
通過淺顯易懂的案例講解DDD的核心基礎知識、設計思想、原則和方法等內容,了解它們之間的協作和依賴關係,做好中台實踐前的準備工作。
第三部分 中台領域建模和微服務設計(第12~19章)
首先,通過案例手把手帶你用DDD方法完成中台和微服務的全流程設計,深刻理解DDD在中台領域建模和微服務設計中的步驟、方法、設計思想和價值;然後,通過一個完整案例帶你了解用DDD設計方法完成領域建模與微服務設計的全流程。
第四部分 前端設計(第20~21章)
引入微前端和單元化的設計思想,通過前端微服務化和單元化設計思想,解決業務中台建設完成後前端套用仍然為單體和前後端服務集成複雜的難點。此外,還探討了基於領域模型的單元化設計方法。
第五部分 中台設計案例(第22章)
採用自頂向下的領域建模策略,通過案例講解中台設計的完整流程。涵蓋業務領域分解、中台領域建模、微服務和微前端設計、單元化設計以及業務和數據如何融合等內容。
第六部分 總結(第23~24章)
結合作者多年的設計經驗和思考,闡述單體套用向微服務架構的演進策略、如何避免陷入DDD設計的常見誤區、微服務設計原則以及分散式架構下的關鍵設計等內容。

圖書目錄

目錄Contents
序1
序2 為不確定而架構
前言
緒論 1
第一部分 認識中台
第1章 數位化中台初步認識與建設策略 13
1.1 平台是中台嗎 13
1.2 中台到底是什麼 14
1.3 傳統企業中台的建設策略 15
1.4 如何實現前中後台的協同 17
1.4.1 前台 17
1.4.2 中台 18
1.4.3 後台 19
1.5 本章小結 20
第2章 企業中台能力框架 21
2.1 中台能力總體框架 21
2.2 業務中台 22
2.3 數據中台 23
2.4 技術中台 25
2.5 研發運營 28
2.6 雲平台 29
2.7 能力聚合 29
2.8 組織架構及中台建設方法 30
2.9 本章小結 31
第3章 微服務設計為什麼要選擇DDD 32
3.1 軟體架構的演進史 32
3.2 微服務拆分和設計的困境 34
3.3 為什麼DDD適合微服務 35
3.4 本章小結 37
第4章 DDD、中台和微服務的關係 39
4.1 DDD和中台的本質 40
4.2 DDD、中台和微服務的協作 41
4.3 如何完成中台業務建模 43
4.4 本章小結 46
第二部分 DDD基本原理
第5章 領域和子域:有效分解問題域 49
5.1 領域的基本概念 49
5.2 領域的分解過程 50
5.3 子域的分類和屬性 52
5.4 本章小結 53
第6章 限界上下文:定義領域邊界的利器 54
6.1 什麼是通用語言 54
6.2 什麼是限界上下文 57
6.3 進一步理解限界上下文 58
6.4 限界上下文和微服務的關係 59
6.5 限界上下文與子域的關係 60
6.6 本章小結 61
第7章 實體和值對象:領域模型的基礎單元 62
7.1 實體 62
7.2 值對象 64
7.3 實體和值對象的關係 68
7.4 本章小結 69
第8章 聚合和聚合根:怎樣設計聚合 70
8.1 聚合 70
8.2 聚合根 71
8.3 聚合的設計步驟 73
8.4 聚合的設計原則 74
8.5 聚合的設計模式 75
8.5.1 倉儲模式 76
8.5.2 工廠模式 80
8.6 本章小結 81
第9章 領域事件:解耦微服務的關鍵 83
9.1 領域事件 83
9.1.1 微服務內的領域事件 84
9.1.2 微服務之間的領域事件 85
9.2 領域事件案例 85
9.3 領域事件驅動實現機制 86
9.4 領域事件運行機制 89
9.5 本章小結 90
第10章 DDD分層架構 91
10.1 什麼是DDD分層架構 91
10.1.1 用戶接口層 92
10.1.2 套用層 93
10.1.3 領域層 94
10.1.4 基礎層 94
10.1.5 DDD分層架構的重要原則 95
10.2 DDD分層架構如何推動架構演進 95
10.2.1 微服務架構的演進 95
10.2.2 微服務內服務的演進 96
10.3 三層架構如何演進到DDD分層架構 97
10.4 本章小結 98
第11章 幾種微服務架構模型對比分析 99
11.1 洋蔥架構 99
11.2 六邊形架構 100
11.3 三種微服務架構模型的對比和分析 101
11.4 從三種架構模型看中台和微服務設計 103
11.4.1 中台建設要聚焦領域模型 103
11.4.2 微服務要有合理的架構分層 104
11.4.3 套用邏輯與基礎資源的解耦 105
11.5 本章小結 106
第三部分 中台領域建模與微服務設計
第12章 如何用事件風暴構建領域模型 109
12.1 事件風暴概述 110
12.2 基於事件風暴的領域建模 111
12.2.1 產品願景分析 111
12.2.2 場景分析 112
12.2.3 領域建模 113
12.2.4 微服務拆分與設計 115
12.3 本章小結 116
第13章 如何用DDD重構中台業務模型 117
13.1 傳統企業套用建設分析 117
13.2 如何避免重複造輪子 119
13.3 如何構建中台業務模型 119
13.3.1 自頂向下的策略 119
13.3.2 自底向上的策略 120
13.4 業務模型重構過程中的領域對象 126
13.5 本章小結 128
第14章 如何用DDD設計微服務代碼模型 129
14.1 DDD分層架構與微服務代碼模型 129
14.2 微服務代碼模型 130
14.2.1 一級代碼目錄 130
14.2.2 各層代碼目錄 131
14.2.3 微服務總目錄結構 134
14.3 本章小結 135
第15章 如何保證領域模型與代碼模型一致 136
15.1 領域對象的整理 136
15.2 從領域模型到微服務落地 137
15.2.1 領域層的領域對象 138
15.2.2 套用層的領域對象 140
15.2.3 領域對象與代碼對象的映射 142
15.3 本章小結 144
第16章 如何實現微服務的架構演進 145
16.1 演進式架構 145
16.2 我們設計的是微服務還是小單體 146
16.3 微服務邊界的作用 147
16.4 正確理解微服務的邊界 149
16.5 本章小結 149
第17章 服務和數據在微服務各層的協作 150
17.1 服務視圖 150
17.1.1 服務的類型 150
17.1.2 服務的調用 151
17.1.3 服務的封裝與組合 153
17.1.4 兩種分層架構的服務依賴關係 155
17.2 數據視圖 158
17.3 本章小結 160
第18章 基於DDD的微服務設計實例 161
18.1 項目基本信息 161
18.2 戰略設計 161
18.2.1 產品願景 162
18.2.2 場景分析 163
18.2.3 領域建模 165
18.2.4 微服務拆分 166
18.3 戰術設計 167
18.3.1 分析微服務領域對象 167
18.3.2 設計微服務代碼結構 171
18.4 後續的工作 173
18.5 本章小結 173
第19章 基於DDD的微服務代碼詳解 174
19.1 項目背景 174
19.2 聚合中的對象 175
19.2.1 聚合根 175
19.2.2 實體 176
19.2.3 值對象 177
19.2.4 領域服務 177
19.3 領域事件 180
19.3.1 領域事件基類 181
19.3.2 領域事件實體 181
19.3.3 領域事件的執行邏輯 181
19.3.4 領域事件數據持久化 182
19.4 倉儲模式 182
19.4.1 DO與PO對象的轉換 183
19.4.2 倉儲實現邏輯 184
19.5 工廠模式 186
19.6 服務的組合與編排 188
19.7 微服務拆分時的代碼調整 190
19.7.1 微服務拆分前的代碼 190
19.7.2 微服務拆分後的代碼 191
19.8 服務接口的提供 192
19.8.1  facade接口 192
19.8.2 DTO數據組裝 193
19.9 微服務解耦策略小結 195
19.10 本章小結 196
第四部分 前端設計
第20章 微前端架構理念與技術實踐 198
20.1 前端項目的困局 198
20.2 如何理解微前端 200
20.3 微前端會帶來哪些好處 201
20.4 微前端適合你的項目嗎 202
20.5 微前端的實施方案與實踐 203
20.5.1 Tailor實踐 204
20.5.2 Single-SPA實踐 216
20.6 本章小結 224
第21章 微前端:微服務的最佳搭檔 225
21.1 前端套用新趨勢 225
21.2 業務單元設計 226
21.3 微前端的集成 228
21.4 團隊職責邊界 230
21.5 本章小結 232
第五部分 中台設計案例
第22章 中台戰略下的保險訂單化設計 234
22.1 保險為什麼要訂單化銷售 234
22.2 保險業務的複雜性 235
22.2.1 保險與普通商品差異分析 235
22.2.2 業務複雜性分析 237
22.2.3 技術複雜性分析 237
22.3 設計目標、思路和原則 239
22.4 業務中台領域建模 240
22.4.1 分解業務領域 240
22.4.2 核心能力中台 241
22.4.3 通用能力中台 244
22.5 業務單元化設計 251
22.5.1 單元化設計的前提 252
22.5.2 如何進行單元化設計 253
22.6 業務的融合 257
22.6.1 企業級前台套用 258
22.6.2 業務和流程的融合 259
22.6.3 單元化的價值 262
22.7 中台與後台的解耦 263
22.8 數據的融合 265
22.8.1 線上數據服務 265
22.8.2 視圖數據服務 265
22.9 本章小結 266
第六部分 總結
第23章 微服務拆分和設計原則 270
23.1 微服務的演進策略 270
23.2 不同場景下的微服務建設策略 271
23.2.1 新建系統 271
23.2.2 單體遺留系統 272
23.3 DDD使用誤區 273
23.4 微服務設計原則 275
23.5 微服務拆分要考慮哪些因素 276
23.6 本章小結 277
第24章 分散式架構的關鍵設計 278
24.1 選擇什麼樣的分散式資料庫 278
24.2 如何設計資料庫分庫主鍵 279
24.3 資料庫的數據同步和複製 279
24.4 跨庫關聯查詢如何處理 280
24.5 如何處理高頻熱點數據 280
24.6 前後序業務數據的處理 281
24.7 數據中台與企業級數據集成 281
24.8 BFF與企業級業務編排和協同 282
24.9 分散式事務還是事件驅動機制 282
24.10 多中心多活設計 283
24.11 本章小結 283
結束語 284

作者簡介

歐創新
資深架構師,擁有十多年的軟體架構設計經驗。熱衷於DDD、中台和分散式微服務架構設計,擅長DDD、中台和分散式微服務架構設計。極客時間《DDD實戰課》專欄作者,在InfoQ發表多篇關於DDD、中台、微服務和微前端技術實踐的有深度和影響力文章。
高級工程師,全國青年崗位能手,致力於基於DDD的企業級中台微服務和微前端架構改造實踐。

相關詞條

熱門詞條

聯絡我們