中臺(tái)架構(gòu)與實(shí)現(xiàn):基于DDD和微服務(wù)
定 價(jià):89 元
- 作者:歐創(chuàng)新 鄧頔
- 出版時(shí)間:2020/10/1
- ISBN:9787111666301
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP311.1
- 頁(yè)碼:0
- 紙張:
- 版次:
- 開(kāi)本:16開(kāi)
內(nèi)容介紹
這是一部系統(tǒng)講解如何基于DDD思想實(shí)現(xiàn)中臺(tái)和微服務(wù)協(xié)同設(shè)計(jì)和落地的著作。
它將DDD、中臺(tái)和微服務(wù)三者結(jié)合,一方面,它為中臺(tái)的劃分和領(lǐng)域建模提供指導(dǎo),幫助企業(yè)更好地完成中臺(tái)建設(shè),實(shí)現(xiàn)中臺(tái)的能力復(fù)用;一方面,它為微服務(wù)的拆分和設(shè)計(jì)提供指導(dǎo),幫助團(tuán)隊(duì)提升分布式微服務(wù)的架構(gòu)設(shè)計(jì)能力。給出了一套體系化的基于DDD思想的企業(yè)級(jí)前、中、后臺(tái)協(xié)同設(shè)計(jì)方法。
本書注重實(shí)戰(zhàn),匯聚了大量分布式架構(gòu)的*新設(shè)計(jì)方法、思想和理念,同時(shí)包含大量的案例和代碼,是理論與實(shí)踐相結(jié)合的*佳經(jīng)驗(yàn)分享。交互式的行文風(fēng)格,文字有活力,內(nèi)容不刻板,簡(jiǎn)潔易懂。
本書共分為六個(gè)部分:
第壹部分 認(rèn)識(shí)中臺(tái)(第1~4章)
主要從業(yè)務(wù)中臺(tái)、數(shù)據(jù)中臺(tái)、技術(shù)中臺(tái)以及與之匹配的組織架構(gòu)等多個(gè)方面分析傳統(tǒng)企業(yè)中臺(tái)轉(zhuǎn)型應(yīng)該具備的能力,帶你初步了解DDD是如何指導(dǎo)中臺(tái)和微服務(wù)設(shè)計(jì),并厘清它們的協(xié)作關(guān)系。
第二部分 DDD基本原理(第5~11章)
通過(guò)淺顯易懂的案例講解DDD的核心基礎(chǔ)知識(shí)、設(shè)計(jì)思想、原則和方法等內(nèi)容,了解它們之間的協(xié)作和依賴關(guān)系,做好中臺(tái)實(shí)踐前的準(zhǔn)備工作。
第三部分 中臺(tái)領(lǐng)域建模和微服務(wù)設(shè)計(jì)(第12~19章)
首先,通過(guò)案例手把手帶你用DDD方法完成中臺(tái)和微服務(wù)的全流程設(shè)計(jì),深刻理解DDD在中臺(tái)領(lǐng)域建模和微服務(wù)設(shè)計(jì)中的步驟、方法、設(shè)計(jì)思想和價(jià)值;然后,通過(guò)一個(gè)完整案例帶你了解用DDD設(shè)計(jì)方法完成領(lǐng)域建模與微服務(wù)設(shè)計(jì)的全流程。
第四部分 前端設(shè)計(jì)(第20~21章)
引入微前端和單元化的設(shè)計(jì)思想,通過(guò)前端微服務(wù)化和單元化設(shè)計(jì)思想,解決業(yè)務(wù)中臺(tái)建設(shè)完成后前端應(yīng)用仍然為單體和前后端服務(wù)集成復(fù)雜的難點(diǎn)。此外,還探討了基于領(lǐng)域模型的單元化設(shè)計(jì)方法。
第五部分 中臺(tái)設(shè)計(jì)案例(第22章)
采用自頂向下的領(lǐng)域建模策略,通過(guò)案例講解中臺(tái)設(shè)計(jì)的完整流程。涵蓋業(yè)務(wù)領(lǐng)域分解、中臺(tái)領(lǐng)域建模、微服務(wù)和微前端設(shè)計(jì)、單元化設(shè)計(jì)以及業(yè)務(wù)和數(shù)據(jù)如何融合等內(nèi)容。
第六部分 總結(jié)(第23~24章)
結(jié)合作者多年的設(shè)計(jì)經(jīng)驗(yàn)和思考,闡述單體應(yīng)用向微服務(wù)架構(gòu)的演進(jìn)策略、如何避免陷入DDD設(shè)計(jì)的常見(jiàn)誤區(qū)、微服務(wù)設(shè)計(jì)原則以及分布式架構(gòu)下的關(guān)鍵設(shè)計(jì)等內(nèi)容。
序1
序2 為不確定而架構(gòu)
前言
緒論 1
第一部分 認(rèn)識(shí)中臺(tái)
第1章 數(shù)字化中臺(tái)初步認(rèn)識(shí)與建設(shè)策略 13
1.1 平臺(tái)是中臺(tái)嗎 13
1.2 中臺(tái)到底是什么 14
1.3 傳統(tǒng)企業(yè)中臺(tái)的建設(shè)策略 15
1.4 如何實(shí)現(xiàn)前中后臺(tái)的協(xié)同 17
1.4.1 前臺(tái) 17
1.4.2 中臺(tái) 18
1.4.3 后臺(tái) 19
1.5 本章小結(jié) 20
第2章 企業(yè)中臺(tái)能力框架 21
2.1 中臺(tái)能力總體框架 21
2.2 業(yè)務(wù)中臺(tái) 22
2.3 數(shù)據(jù)中臺(tái) 23
2.4 技術(shù)中臺(tái) 25
2.5 研發(fā)運(yùn)營(yíng) 28
2.6 云平臺(tái) 29
2.7 能力聚合 29
2.8 組織架構(gòu)及中臺(tái)建設(shè)方法 30
2.9 本章小結(jié) 31
第3章 微服務(wù)設(shè)計(jì)為什么要選擇DDD 32
3.1 軟件架構(gòu)的演進(jìn)史 32
3.2 微服務(wù)拆分和設(shè)計(jì)的困境 34
3.3 為什么DDD適合微服務(wù) 35
3.4 本章小結(jié) 37
第4章 DDD、中臺(tái)和微服務(wù)的關(guān)系 39
4.1 DDD和中臺(tái)的本質(zhì) 40
4.2 DDD、中臺(tái)和微服務(wù)的協(xié)作 41
4.3 如何完成中臺(tái)業(yè)務(wù)建模 43
4.4 本章小結(jié) 46
第二部分 DDD基本原理
第5章 領(lǐng)域和子域:有效分解問(wèn)題域 49
5.1 領(lǐng)域的基本概念 49
5.2 領(lǐng)域的分解過(guò)程 50
5.3 子域的分類和屬性 52
5.4 本章小結(jié) 53
第6章 限界上下文:定義領(lǐng)域邊界的利器 54
6.1 什么是通用語(yǔ)言 54
6.2 什么是限界上下文 57
6.3 進(jìn)一步理解限界上下文 58
6.4 限界上下文和微服務(wù)的關(guān)系 59
6.5 限界上下文與子域的關(guān)系 60
6.6 本章小結(jié) 61
第7章 實(shí)體和值對(duì)象:領(lǐng)域模型的基礎(chǔ)單元 62
7.1 實(shí)體 62
7.2 值對(duì)象 64
7.3 實(shí)體和值對(duì)象的關(guān)系 68
7.4 本章小結(jié) 69
第8章 聚合和聚合根:怎樣設(shè)計(jì)聚合 70
8.1 聚合 70
8.2 聚合根 71
8.3 聚合的設(shè)計(jì)步驟 73
8.4 聚合的設(shè)計(jì)原則 74
8.5 聚合的設(shè)計(jì)模式 75
8.5.1 倉(cāng)儲(chǔ)模式 76
8.5.2 工廠模式 80
8.6 本章小結(jié) 81
第9章 領(lǐng)域事件:解耦微服務(wù)的關(guān)鍵 83
9.1 領(lǐng)域事件 83
9.1.1 微服務(wù)內(nèi)的領(lǐng)域事件 84
9.1.2 微服務(wù)之間的領(lǐng)域事件 85
9.2 領(lǐng)域事件案例 85
9.3 領(lǐng)域事件驅(qū)動(dòng)實(shí)現(xiàn)機(jī)制 86
9.4 領(lǐng)域事件運(yùn)行機(jī)制 89
9.5 本章小結(jié) 90
第10章 DDD分層架構(gòu) 91
10.1 什么是DDD分層架構(gòu) 91
10.1.1 用戶接口層 92
10.1.2 應(yīng)用層 93
10.1.3 領(lǐng)域?qū)? 94
10.1.4 基礎(chǔ)層 94
10.1.5 DDD分層架構(gòu)的重要原則 95
10.2 DDD分層架構(gòu)如何推動(dòng)架構(gòu)演進(jìn) 95
10.2.1 微服務(wù)架構(gòu)的演進(jìn) 95
10.2.2 微服務(wù)內(nèi)服務(wù)的演進(jìn) 96
10.3 三層架構(gòu)如何演進(jìn)到DDD分層架構(gòu) 97
10.4 本章小結(jié) 98
第11章 幾種微服務(wù)架構(gòu)模型對(duì)比分析 99
11.1 洋蔥架構(gòu) 99
11.2 六邊形架構(gòu) 100
11.3 三種微服務(wù)架構(gòu)模型的對(duì)比和分析 101
11.4 從三種架構(gòu)模型看中臺(tái)和微服務(wù)設(shè)計(jì) 103
11.4.1 中臺(tái)建設(shè)要聚焦領(lǐng)域模型 103
11.4.2 微服務(wù)要有合理的架構(gòu)分層 104
11.4.3 應(yīng)用邏輯與基礎(chǔ)資源的解耦 105
11.5 本章小結(jié) 106
第三部分 中臺(tái)領(lǐng)域建模與微服務(wù)設(shè)計(jì)
第12章 如何用事件風(fēng)暴構(gòu)建領(lǐng)域模型 109
12.1 事件風(fēng)暴概述 110
12.2 基于事件風(fēng)暴的領(lǐng)域建模 111
12.2.1 產(chǎn)品愿景分析 111
12.2.2 場(chǎng)景分析 112
12.2.3 領(lǐng)域建模 113
12.2.4 微服務(wù)拆分與設(shè)計(jì) 115
12.3 本章小結(jié) 116
第13章 如何用DDD重構(gòu)中臺(tái)業(yè)務(wù)模型 117
13.1 傳統(tǒng)企業(yè)應(yīng)用建設(shè)分析 117
13.2 如何避免重復(fù)造輪子 119
13.3 如何構(gòu)建中臺(tái)業(yè)務(wù)模型 119
13.3.1 自頂向下的策略 119
13.3.2 自底向上的策略 120
13.4 業(yè)務(wù)模型重構(gòu)過(guò)程中的領(lǐng)域?qū)ο? 126
13.5 本章小結(jié) 128
第14章 如何用DDD設(shè)計(jì)微服務(wù)代碼模型 129
14.1 DDD分層架構(gòu)與微服務(wù)代碼模型 129
14.2 微服務(wù)代碼模型 130
14.2.1 一級(jí)代碼目錄 130
14.2.2 各層代碼目錄 131
14.2.3 微服務(wù)總目錄結(jié)構(gòu) 134
14.3 本章小結(jié) 135
第15章 如何保證領(lǐng)域模型與代碼模型一致 136
15.1 領(lǐng)域?qū)ο蟮恼? 136
15.2 從領(lǐng)域模型到微服務(wù)落地 137
15.2.1 領(lǐng)域?qū)拥念I(lǐng)域?qū)ο? 138
15.2.2 應(yīng)用層的領(lǐng)域?qū)ο? 140
15.2.3 領(lǐng)域?qū)ο笈c代碼對(duì)象的映射 142
15.3 本章小結(jié) 144
第16章 如何實(shí)現(xiàn)微服務(wù)的架構(gòu)演進(jìn) 145
16.1 演進(jìn)式架構(gòu) 145
16.2 我們?cè)O(shè)計(jì)的是微服務(wù)還是小單體 146
16.3 微服務(wù)邊界的作用 147
16.4 正確理解微服務(wù)的邊界 149
16.5 本章小結(jié) 149
第17章 服務(wù)和數(shù)據(jù)在微服務(wù)各層的協(xié)作 150
17.1 服務(wù)視圖 150
17.1.1 服務(wù)的類型 150
17.1.2 服務(wù)的調(diào)用 151
17.1.3 服務(wù)的封裝與組合 153
17.1.4 兩種分層架構(gòu)的服務(wù)依賴關(guān)系 155
17.2 數(shù)據(jù)視圖 158
17.3 本章小結(jié) 160
第18章 基于DDD的微服務(wù)設(shè)計(jì)實(shí)例 161
18.1 項(xiàng)目基本信息 161
18.2 戰(zhàn)略設(shè)計(jì) 161
18.2.1 產(chǎn)品愿景 162
18.2.2 場(chǎng)景分析 163
18.2.3 領(lǐng)域建模 165
18.2.4 微服務(wù)拆分 166
18.3 戰(zhàn)術(shù)設(shè)計(jì) 167
18.3.1 分析微服務(wù)領(lǐng)域?qū)ο? 167
18.3.2 設(shè)計(jì)微服務(wù)代碼結(jié)構(gòu) 171
18.4 后續(xù)的工作 173
18.5 本章小結(jié) 173
第19章 基于DDD的微服務(wù)代碼詳解 174
19.1 項(xiàng)目背景 174
19.2 聚合中的對(duì)象 175
19.2.1 聚合根 175
19.2.2 實(shí)體 176
19.2.3 值對(duì)象 177
19.2.4 領(lǐng)域服務(wù) 177
19.3 領(lǐng)域事件 180
19.3.1 領(lǐng)域事件基類 181
19.3.2 領(lǐng)域事件實(shí)體 181
19.3.3 領(lǐng)域事件的執(zhí)行邏輯 181
19.3.4 領(lǐng)域事件數(shù)據(jù)持久化 182
19.4 倉(cāng)儲(chǔ)模式 182
19.4.1 DO與PO對(duì)象的轉(zhuǎn)換 183
19.4.2 倉(cāng)儲(chǔ)實(shí)現(xiàn)邏輯 184
19.5 工廠模式 186
19.6 服務(wù)的組合與編排 188
19.7 微服務(wù)拆分時(shí)的代碼調(diào)整 190
19.7.1 微服務(wù)拆分前的代碼 190
19.7.2 微服務(wù)拆分后的代碼 191
19.8 服務(wù)接口的提供 192
19.8.1 facade接口 192
19.8.2 DTO數(shù)據(jù)組裝 193
19.9 微服務(wù)解耦策略小結(jié) 195
19.10 本章小結(jié) 196
第四部分 前端設(shè)計(jì)
第20章 微前端架構(gòu)理念與技術(shù)實(shí)踐 198
20.1 前端項(xiàng)目的困局 198
20.2 如何理解微前端 200
20.3 微前端會(huì)帶來(lái)哪些好處 201
20.4 微前端適合你的項(xiàng)目嗎 202
20.5 微前端的實(shí)施方案與實(shí)踐 203
20.5.1 Tailor實(shí)踐 204
20.5.2 Single-SPA實(shí)踐 216
20.6 本章小結(jié) 224
第21章 微前端:微服務(wù)的最佳搭檔 225
21.1 前端應(yīng)用新趨勢(shì) 225
21.2 業(yè)務(wù)單元設(shè)計(jì) 226
21.3 微前端的集成 228
21.4 團(tuán)隊(duì)職責(zé)邊界 230
21.5 本章小結(jié) 232
第五部分 中臺(tái)設(shè)計(jì)案例
第22章 中臺(tái)戰(zhàn)略下的保險(xiǎn)訂單化設(shè)計(jì) 234
22.1 保險(xiǎn)為什么要訂單化銷售 234
22.2 保險(xiǎn)業(yè)務(wù)的復(fù)雜性 235
22.2.1 保險(xiǎn)與普通商品差異分析 235
22.2.2 業(yè)務(wù)復(fù)雜性分析 237
22.2.3 技術(shù)復(fù)雜性分析 237
22.3 設(shè)計(jì)目標(biāo)、思路和原則 239
22.4 業(yè)務(wù)中臺(tái)領(lǐng)域建模 240
22.4.1 分解業(yè)務(wù)領(lǐng)域 240
22.4.2 核心能力中臺(tái) 241
22.4.3 通用能力中臺(tái) 244
22.5 業(yè)務(wù)單元化設(shè)計(jì) 251
22.5.1 單元化設(shè)計(jì)的前提 252
22.5.2 如何進(jìn)行單元化設(shè)計(jì) 253
22.6 業(yè)務(wù)的融合 257
22.6.1 企業(yè)級(jí)前臺(tái)應(yīng)用 258
22.6.2 業(yè)務(wù)和流程的融合 259
22.6.3 單元化的價(jià)值 262
22.7 中臺(tái)與后臺(tái)的解耦 263
22.8 數(shù)據(jù)的融合 265
22.8.1 在線數(shù)據(jù)服務(wù) 265
22.8.2 視圖數(shù)據(jù)服務(wù) 265
22.9 本章小結(jié) 266
第六部分 總結(jié)
第23章 微服務(wù)拆分和設(shè)計(jì)原則 270
23.1 微服務(wù)的演進(jìn)策略 270
23.2 不同場(chǎng)景下的微服務(wù)建設(shè)策略 271
23.2.1 新建系統(tǒng) 271
23.2.2 單體遺留系統(tǒng) 272
23.3 DDD使用誤區(qū) 273
23.4 微服務(wù)設(shè)計(jì)原則 275
23.5 微服務(wù)拆分要考慮哪些因素 276
23.6 本章小結(jié) 277
第24章 分布式架構(gòu)的關(guān)鍵設(shè)計(jì) 278
24.1 選擇什么樣的分布式數(shù)據(jù)庫(kù) 278
24.2 如何設(shè)計(jì)數(shù)據(jù)庫(kù)分庫(kù)主鍵 279
24.3 數(shù)據(jù)庫(kù)的數(shù)據(jù)同步和復(fù)制 279
24.4 跨庫(kù)關(guān)聯(lián)查詢?nèi)绾翁幚? 280
24.5 如何處理高頻熱點(diǎn)數(shù)據(jù) 280
24.6 前后序業(yè)務(wù)數(shù)據(jù)的處理 281
24.7 數(shù)據(jù)中臺(tái)與企業(yè)級(jí)數(shù)據(jù)集成 281
24.8 BFF與企業(yè)級(jí)業(yè)務(wù)編排和協(xié)同 282
24.9 分布式事務(wù)還是事件驅(qū)動(dòng)機(jī)制 282
24.10 多中心多活設(shè)計(jì) 283
24.11 本章小結(jié) 283
結(jié)束語(yǔ) 284