中臺架構(gòu)與實現(xiàn):基于DDD和微服務(wù)
鏈接:https://pan.baidu.com/s/1D08tSPh3XUN7NoMWglb7Ig?pwd=lywp?
提取碼:lywp

(1)作者是某大型保險公司架構(gòu)師,有10余年軟件架構(gòu)經(jīng)驗,擅長DDD、中臺和分布式微服務(wù)架構(gòu)設(shè)計。
(2)本書為基于DDD思想的中臺建設(shè)和微服務(wù)拆分與設(shè)計提供指導(dǎo),給出了體系化的前、中、后臺協(xié)同設(shè)計方法。
(3)注重實戰(zhàn),匯聚大量分布式架構(gòu)的*新設(shè)計方法、思想和理念,同時包含大量的案例和代碼。
(4)交互式的行文風(fēng)格,文字有活力,內(nèi)容不刻板,簡潔易懂。
(5)本書榮獲51CTO 2020年度“最受讀者喜愛的IT圖書”獎。
內(nèi)容簡介
這是一部系統(tǒng)講解如何基于DDD思想實現(xiàn)中臺和微服務(wù)協(xié)同設(shè)計和落地的著作。
它將DDD、中臺和微服務(wù)三者結(jié)合,一方面,它為中臺的劃分和領(lǐng)域建模提供指導(dǎo),幫助企業(yè)更好地完成中臺建設(shè),實現(xiàn)中臺的能力復(fù)用;一方面,它為微服務(wù)的拆分和設(shè)計提供指導(dǎo),幫助團隊提升分布式微服務(wù)的架構(gòu)設(shè)計能力。給出了一套體系化的基于DDD思想的企業(yè)級前、中、后臺協(xié)同設(shè)計方法。
本書注重實戰(zhàn),匯聚了大量分布式架構(gòu)的*新設(shè)計方法、思想和理念,同時包含大量的案例和代碼,是理論與實踐相結(jié)合的*佳經(jīng)驗分享。交互式的行文風(fēng)格,文字有活力,內(nèi)容不刻板,簡潔易懂。
本書共分為六個部分:
第壹部分 認識中臺(第1~4章)
主要從業(yè)務(wù)中臺、數(shù)據(jù)中臺、技術(shù)中臺以及與之匹配的組織架構(gòu)等多個方面分析傳統(tǒng)企業(yè)中臺轉(zhuǎn)型應(yīng)該具備的能力,帶你初步了解DDD是如何指導(dǎo)中臺和微服務(wù)設(shè)計,并厘清它們的協(xié)作關(guān)系。
第二部分 DDD基本原理(第5~11章)
通過淺顯易懂的案例講解DDD的核心基礎(chǔ)知識、設(shè)計思想、原則和方法等內(nèi)容,了解它們之間的協(xié)作和依賴關(guān)系,做好中臺實踐前的準備工作。
第三部分 中臺領(lǐng)域建模和微服務(wù)設(shè)計(第12~19章)
首先,通過案例手把手帶你用DDD方法完成中臺和微服務(wù)的全流程設(shè)計,深刻理解DDD在中臺領(lǐng)域建模和微服務(wù)設(shè)計中的步驟、方法、設(shè)計思想和價值;然后,通過一個完整案例帶你了解用DDD設(shè)計方法完成領(lǐng)域建模與微服務(wù)設(shè)計的全流程。
第四部分 前端設(shè)計(第20~21章)
引入微前端和單元化的設(shè)計思想,通過前端微服務(wù)化和單元化設(shè)計思想,解決業(yè)務(wù)中臺建設(shè)完成后前端應(yīng)用仍然為單體和前后端服務(wù)集成復(fù)雜的難點。此外,還探討了基于領(lǐng)域模型的單元化設(shè)計方法。
第五部分 中臺設(shè)計案例(第22章)
采用自頂向下的領(lǐng)域建模策略,通過案例講解中臺設(shè)計的完整流程。涵蓋業(yè)務(wù)領(lǐng)域分解、中臺領(lǐng)域建模、微服務(wù)和微前端設(shè)計、單元化設(shè)計以及業(yè)務(wù)和數(shù)據(jù)如何融合等內(nèi)容。
第六部分 總結(jié)(第23~24章)
結(jié)合作者多年的設(shè)計經(jīng)驗和思考,闡述單體應(yīng)用向微服務(wù)架構(gòu)的演進策略、如何避免陷入DDD設(shè)計的常見誤區(qū)、微服務(wù)設(shè)計原則以及分布式架構(gòu)下的關(guān)鍵設(shè)計等內(nèi)容。
作者簡介
歐創(chuàng)新
某大型保險公司架構(gòu)師,擁有十多年的軟件架構(gòu)設(shè)計經(jīng)驗。熱衷于DDD、中臺和分布式微服務(wù)架構(gòu)設(shè)計。在DDD、中臺和分布式微服務(wù)架構(gòu)設(shè)計方面有深厚的積累,擅長分布式微服務(wù)架構(gòu)設(shè)計。
極客時間《DDD實戰(zhàn)課》專欄作者,在InfoQ發(fā)表多篇關(guān)于DDD、中臺、微服務(wù)和微前端技術(shù)實踐的有深度和影響力文章。
鄧頔
某大型保險公司高級工程師,全國青年崗位能手。致力于基于DDD的企業(yè)級中臺微服務(wù)架構(gòu)改造實踐,精通前端開發(fā)相關(guān)技術(shù)棧,擁有豐富的企業(yè)級微前端實戰(zhàn)經(jīng)驗。
精彩書評
歐創(chuàng)新是極客時間《DDD實戰(zhàn)課》專欄的優(yōu)秀作者,他對中臺和DDD有著自己獨到的見解。這本書給我們提供了理解中臺、DDD和微服務(wù)相關(guān)概念和實踐的望遠鏡(宏觀視角)和顯微鏡(微觀視角),推薦閱讀。
——郭蕾 極客時間總編輯
中臺在經(jīng)歷了各種爭論后,開始進入理性實踐階段,本書在澄清概念的同時,詳細介紹了保險領(lǐng)域的DDD與微服務(wù)實踐,相信讀者在充分理解了這些寶貴的經(jīng)驗之后,也能夠走出一條知行合一的中臺自主之道。方法論的研究意義深遠,我們永遠在路上。
——付曉巖 建信金融科技有限責(zé)任公司團隊副總經(jīng)理/《企業(yè)級業(yè)務(wù)架構(gòu)》《銀行數(shù)字化轉(zhuǎn)型》作者
本書從中臺規(guī)劃開始的DDD理念,到后臺架構(gòu)上基于微服務(wù)的解耦和聚合方式,再到微前端的架構(gòu)和實現(xiàn),以理論結(jié)合實際的方式系統(tǒng)地闡述了中臺從規(guī)劃到實現(xiàn)的全流程,為希望了解中臺的設(shè)計和實現(xiàn)方式的讀者提供了很好的指導(dǎo)。
——彭鋒 智領(lǐng)云聯(lián)合創(chuàng)始人兼CEO
本書將DDD和中臺建設(shè)結(jié)合起來,詳細闡述了基于DDD進行服務(wù)設(shè)計的過程,以及微前端的建設(shè)方法,最后還結(jié)合具體例子說明了整個過程,為中臺的建設(shè)提供了具體的指導(dǎo)。
——李元佳 云徙科技聯(lián)合創(chuàng)始人
中臺架構(gòu)是一個復(fù)雜的架構(gòu)理念,不是現(xiàn)成的可以即插即用的產(chǎn)品或工具。中臺的理想如何實現(xiàn)?業(yè)務(wù)架構(gòu)、應(yīng)用架構(gòu)、數(shù)據(jù)架構(gòu)、技術(shù)架構(gòu)如何四位一體?且看保險領(lǐng)域先行者如何躬身向前用DDD和微服務(wù)把理想實現(xiàn)。
——史海峰 微信公眾號“IT民工閑話”作者
企業(yè)紛紛開始建設(shè)中臺的過程,就是企業(yè)的業(yè)務(wù)和架構(gòu)從粗放式產(chǎn)品型管理到精細化平臺型管理的演進過程。在這個過程中,如何從我們熟悉的縱向產(chǎn)品視角切換到相對抽象的橫向平臺視角,是其中的難點和重點,DDD和微服務(wù)正好在設(shè)計和技術(shù)層面給我們提供了方法論,是中臺規(guī)劃與建設(shè)必須掌握的基本能力。本書正是專注于此,系統(tǒng)而專業(yè),強烈推薦。
——王健 ThoughtWorks 首席咨詢師/《白話中臺》系列文章作者
本書從DDD實際落地出發(fā),通過大量案例分析和介紹,讀者可以非常容易地了解其核心設(shè)計思想和流程,掌握DDD整套理論體系??梢哉f是一本難得的從理論到實踐的書。
——賀阮 騰訊專家工程師
目錄
序1
序2 為不確定而架構(gòu)
前言
緒論 1
第一部分 認識中臺
第1章 數(shù)字化中臺初步認識與建設(shè)策略 13
1.1 平臺是中臺嗎 13
1.2 中臺到底是什么 14
1.3 傳統(tǒng)企業(yè)中臺的建設(shè)策略 15
1.4 如何實現(xiàn)前中后臺的協(xié)同 17
1.4.1 前臺 17
1.4.2 中臺 18
1.4.3 后臺 19
1.5 本章小結(jié) 20
第2章 企業(yè)中臺能力框架 21
2.1 中臺能力總體框架 21
2.2 業(yè)務(wù)中臺 22
2.3 數(shù)據(jù)中臺 23
2.4 技術(shù)中臺 25
2.5 研發(fā)運營 28
2.6 云平臺 29
2.7 能力聚合 29
2.8 組織架構(gòu)及中臺建設(shè)方法 30
2.9 本章小結(jié) 31
第3章 微服務(wù)設(shè)計為什么要選擇DDD 32
3.1 軟件架構(gòu)的演進史 32
3.2 微服務(wù)拆分和設(shè)計的困境 34
3.3 為什么DDD適合微服務(wù) 35
3.4 本章小結(jié) 37
第4章 DDD、中臺和微服務(wù)的關(guān)系 39
4.1 DDD和中臺的本質(zhì) 40
4.2 DDD、中臺和微服務(wù)的協(xié)作 41
4.3 如何完成中臺業(yè)務(wù)建模 43
4.4 本章小結(jié) 46
第二部分 DDD基本原理
第5章 領(lǐng)域和子域:有效分解問題域 49
5.1 領(lǐng)域的基本概念 49
5.2 領(lǐng)域的分解過程 50
5.3 子域的分類和屬性 52
5.4 本章小結(jié) 53
第6章 限界上下文:定義領(lǐng)域邊界的利器 54
6.1 什么是通用語言 54
6.2 什么是限界上下文 57
6.3 進一步理解限界上下文 58
6.4 限界上下文和微服務(wù)的關(guān)系 59
6.5 限界上下文與子域的關(guān)系 60
6.6 本章小結(jié) 61
第7章 實體和值對象:領(lǐng)域模型的基礎(chǔ)單元 62
7.1 實體 62
7.2 值對象 64
7.3 實體和值對象的關(guān)系 68
7.4 本章小結(jié) 69
第8章 聚合和聚合根:怎樣設(shè)計聚合 70
8.1 聚合 70
8.2 聚合根 71
8.3 聚合的設(shè)計步驟 73
8.4 聚合的設(shè)計原則 74
8.5 聚合的設(shè)計模式 75
8.5.1 倉儲模式 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ū)動實現(xiàn)機制 86
9.4 領(lǐng)域事件運行機制 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)如何推動架構(gòu)演進 95
10.2.1 微服務(wù)架構(gòu)的演進 95
10.2.2 微服務(wù)內(nèi)服務(wù)的演進 96
10.3 三層架構(gòu)如何演進到DDD分層架構(gòu) 97
10.4 本章小結(jié) 98
第11章 幾種微服務(wù)架構(gòu)模型對比分析 99
11.1 洋蔥架構(gòu) 99
11.2 六邊形架構(gòu) 100
11.3 三種微服務(wù)架構(gòu)模型的對比和分析 101
11.4 從三種架構(gòu)模型看中臺和微服務(wù)設(shè)計 103
11.4.1 中臺建設(shè)要聚焦領(lǐng)域模型 103
11.4.2 微服務(wù)要有合理的架構(gòu)分層 104
11.4.3 應(yīng)用邏輯與基礎(chǔ)資源的解耦 105
11.5 本章小結(jié) 106
第三部分 中臺領(lǐng)域建模與微服務(wù)設(shè)計
第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 場景分析 112
12.2.3 領(lǐng)域建模 113
12.2.4 微服務(wù)拆分與設(shè)計 115
12.3 本章小結(jié) 116
第13章 如何用DDD重構(gòu)中臺業(yè)務(wù)模型 117
13.1 傳統(tǒng)企業(yè)應(yīng)用建設(shè)分析 117
13.2 如何避免重復(fù)造輪子 119
13.3 如何構(gòu)建中臺業(yè)務(wù)模型 119
13.3.1 自頂向下的策略 119
13.3.2 自底向上的策略 120
13.4 業(yè)務(wù)模型重構(gòu)過程中的領(lǐng)域?qū)ο?126
13.5 本章小結(jié) 128
第14章 如何用DDD設(shè)計微服務(wù)代碼模型 129
14.1 DDD分層架構(gòu)與微服務(wù)代碼模型 129
14.2 微服務(wù)代碼模型 130
14.2.1 一級代碼目錄 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代碼對象的映射 142
15.3 本章小結(jié) 144
第16章 如何實現(xiàn)微服務(wù)的架構(gòu)演進 145
16.1 演進式架構(gòu) 145
16.2 我們設(shè)計的是微服務(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è)計實例 161
18.1 項目基本信息 161
18.2 戰(zhàn)略設(shè)計 161
18.2.1 產(chǎn)品愿景 162
18.2.2 場景分析 163
18.2.3 領(lǐng)域建模 165
18.2.4 微服務(wù)拆分 166
18.3 戰(zhàn)術(shù)設(shè)計 167
18.3.1 分析微服務(wù)領(lǐng)域?qū)ο?167
18.3.2 設(shè)計微服務(wù)代碼結(jié)構(gòu) 171
18.4 后續(xù)的工作 173
18.5 本章小結(jié) 173
第19章 基于DDD的微服務(wù)代碼詳解 174
19.1 項目背景 174
19.2 聚合中的對象 175
19.2.1 聚合根 175
19.2.2 實體 176
19.2.3 值對象 177
19.2.4 領(lǐng)域服務(wù) 177
19.3 領(lǐng)域事件 180
19.3.1 領(lǐng)域事件基類 181
19.3.2 領(lǐng)域事件實體 181
19.3.3 領(lǐng)域事件的執(zhí)行邏輯 181
19.3.4 領(lǐng)域事件數(shù)據(jù)持久化 182
19.4 倉儲模式 182
19.4.1 DO與PO對象的轉(zhuǎn)換 183
19.4.2 倉儲實現(xiàn)邏輯 184
19.5 工廠模式 186
19.6 服務(wù)的組合與編排 188
19.7 微服務(wù)拆分時的代碼調(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è)計
第20章 微前端架構(gòu)理念與技術(shù)實踐 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 本章小結(jié) 224
第21章 微前端:微服務(wù)的最佳搭檔 225
21.1 前端應(yīng)用新趨勢 225
21.2 業(yè)務(wù)單元設(shè)計 226
21.3 微前端的集成 228
21.4 團隊職責(zé)邊界 230
21.5 本章小結(jié) 232
第五部分 中臺設(shè)計案例
第22章 中臺戰(zhàn)略下的保險訂單化設(shè)計 234
22.1 保險為什么要訂單化銷售 234
22.2 保險業(yè)務(wù)的復(fù)雜性 235
22.2.1 保險與普通商品差異分析 235
22.2.2 業(yè)務(wù)復(fù)雜性分析 237
22.2.3 技術(shù)復(fù)雜性分析 237
22.3 設(shè)計目標、思路和原則 239
22.4 業(yè)務(wù)中臺領(lǐng)域建模 240
22.4.1 分解業(yè)務(wù)領(lǐng)域 240
22.4.2 核心能力中臺 241
22.4.3 通用能力中臺 244
22.5 業(yè)務(wù)單元化設(shè)計 251
22.5.1 單元化設(shè)計的前提 252
22.5.2 如何進行單元化設(shè)計 253
22.6 業(yè)務(wù)的融合 257
22.6.1 企業(yè)級前臺應(yīng)用 258
22.6.2 業(yè)務(wù)和流程的融合 259
22.6.3 單元化的價值 262
22.7 中臺與后臺的解耦 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è)計原則 270
23.1 微服務(wù)的演進策略 270
23.2 不同場景下的微服務(wù)建設(shè)策略 271
23.2.1 新建系統(tǒng) 271
23.2.2 單體遺留系統(tǒng) 272
23.3 DDD使用誤區(qū) 273
23.4 微服務(wù)設(shè)計原則 275
23.5 微服務(wù)拆分要考慮哪些因素 276
23.6 本章小結(jié) 277
第24章 分布式架構(gòu)的關(guān)鍵設(shè)計 278
24.1 選擇什么樣的分布式數(shù)據(jù)庫 278
24.2 如何設(shè)計數(shù)據(jù)庫分庫主鍵 279
24.3 數(shù)據(jù)庫的數(shù)據(jù)同步和復(fù)制 279
24.4 跨庫關(guān)聯(lián)查詢?nèi)绾翁幚?280
24.5 如何處理高頻熱點數(shù)據(jù) 280
24.6 前后序業(yè)務(wù)數(shù)據(jù)的處理 281
24.7 數(shù)據(jù)中臺與企業(yè)級數(shù)據(jù)集成 281
24.8 BFF與企業(yè)級業(yè)務(wù)編排和協(xié)同 282
24.9 分布式事務(wù)還是事件驅(qū)動機制 282
24.10 多中心多活設(shè)計 283
24.11 本章小結(jié) 283
結(jié)束語 284
查看全部↓