創(chuàng)新驅(qū)動設(shè)計:單體與微服務混合架構(gòu)策略與實踐
定 價:115 元
當前圖書已被 48 所學校薦購過!
查看明細
- 作者:(美)Vaughn Vernon(沃恩·弗農(nóng)),(法)Tomasz Jaskula(托馬什·亞斯庫瓦)
- 出版時間:2024/3/1
- ISBN:9787121473517
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP368.5
- 頁碼:288
- 紙張:
- 版次:01
- 開本:16開
選擇微服務還是單體,這似乎是一個無須討論的話題,這個年代還有單體的存身之地嗎?沃恩和托馬什對此的回答是,不僅有,而且許多組織適合使用單體架構(gòu)。兩位作者用一個貫穿全書的例子深入探討了面向戰(zhàn)略創(chuàng)新的架構(gòu)設(shè)計問題。本書共12章,分4部分。第1部分從戰(zhàn)略高度介紹了架構(gòu)決策的重要性及其帶來的影響,以及幾種戰(zhàn)略學習工具和事件優(yōu)先建模。第2部分講述了推動業(yè)務創(chuàng)新的幾種工具,并對DDD進行了簡單的介紹。第3部分具體談論了事件優(yōu)先架構(gòu)和實現(xiàn)它的幾種方式。第4部分回答了微服務還是單體這個有爭議性的問題,討論了單體和微服務之間的比較與權(quán)衡,還探討了如何將單體遷移到微服務,并且為讀者可能采用的任何一種選擇都提供了合適的指南。本書適合需要進行架構(gòu)決策的人閱讀,也適合想要精進業(yè)務的架構(gòu)師和程序員閱讀。
沃恩·弗農(nóng)是一位企業(yè)家、軟件開發(fā)者和架構(gòu)師,擁有超過35年的豐富跨領(lǐng)域業(yè)務經(jīng)驗。沃恩是領(lǐng)域驅(qū)動設(shè)計、反應式架構(gòu)與編程方面的頂尖專家,倡導簡單性。他的工作坊學員一直對他所教授的廣度和深度以及獨特的教學方法給予高度評價,許多人在參加他的一次工作坊后,就成為他的其他知名工作坊的長期學員。沃恩提供有關(guān)領(lǐng)域驅(qū)動設(shè)計、反應式軟件開發(fā)以及事件風暴和事件驅(qū)動架構(gòu)的咨詢和培訓,幫助團隊和組織發(fā)掘業(yè)務驅(qū)動和反應式系統(tǒng)的潛力。他的專業(yè)知識和經(jīng)驗幫助許多企業(yè)從遺留的技術(shù)驅(qū)動的實現(xiàn)方法過渡到業(yè)務驅(qū)動的現(xiàn)代方法。沃恩是4本書的作者,包括你現(xiàn)在正在閱讀的這本。他的圖書和他的沃恩·弗農(nóng)系列圖書均由Addison-Wesley出版。托馬什·亞斯庫瓦是巴黎軟件咨詢公司Luteceo的CTO和聯(lián)合創(chuàng)始人。托馬什有超過20年的開發(fā)者和軟件架構(gòu)師專業(yè)經(jīng)驗,曾在許多電子商務、工業(yè)、保險和金融領(lǐng)域的公司工作過。他主要專注于創(chuàng)造真正產(chǎn)生業(yè)務價值、與戰(zhàn)略業(yè)務舉措保持一致、提供具有明確競爭優(yōu)勢的軟件解決方案。托馬什也是.NET平臺開源項目XOOM的主要貢獻者之一。在業(yè)余時間,托馬什會練習吉他演奏,并與家人共度時光。
婁麒麟,Thoughtworks專家級咨詢師,海外項目交付安全負責人,思特沃克技術(shù)雷達第28期中文主編。擅長函數(shù)式編程、事件驅(qū)動架構(gòu)、云原生設(shè)計、風險管理,以及DevSecOps。有著近10年的研發(fā)團隊管理經(jīng)驗,曾主導某大型跨國銀行的微服務改造工程,和某頭部科技金融公司的遺留系統(tǒng)改造工程。近來在研究產(chǎn)品研發(fā)的全生命周期風險控制和AI賦能。馬建勛,Thoughtworks專家級咨詢師,IT從業(yè)10余年,曾領(lǐng)導和參與多家海內(nèi)外不同規(guī)模項目的研發(fā)和改造,涉及ERP、互聯(lián)網(wǎng)、銀行等領(lǐng)域。主要研究興趣在于敏捷開發(fā),領(lǐng)域驅(qū)動設(shè)計,軟件架構(gòu)演進以及項目管理。姚琪琳,Thoughtworks專家級咨詢師,遺留系統(tǒng)現(xiàn)代化解決方案負責人,極客時間《遺留系統(tǒng)現(xiàn)代化實戰(zhàn)》專欄作者,技術(shù)書籍譯者,CAC認證敏捷教練。擁有超過16年的軟件行業(yè)從業(yè)經(jīng)驗,對開發(fā)、設(shè)計和架構(gòu)有著深入的理解。擅長領(lǐng)域驅(qū)動設(shè)計、敏捷軟件開發(fā)、整潔代碼和重構(gòu),并通過理論指導、實戰(zhàn)演練等方式為企業(yè)研發(fā)團隊賦能。參與翻譯或?qū)徯6啾炯夹g(shù)書籍,包括《重構(gòu)到微服務》、《領(lǐng)域特定語言》、《.NET性能優(yōu)化》、《深入理解C#》等。張渝,Thoughtworks專家級咨詢師。曾領(lǐng)導和參與多個海內(nèi)外項目,涉及私有云,支付,視頻等多個領(lǐng)域。擅長敏捷軟件開發(fā),領(lǐng)域驅(qū)動設(shè)計,云原生設(shè)計,測試驅(qū)動開發(fā)以及重構(gòu)。
第1部分 通過實驗學習轉(zhuǎn)型戰(zhàn)略
第1章 業(yè)務目標和數(shù)字化轉(zhuǎn)型 5
數(shù)字化轉(zhuǎn)型的目標是什么 6
軟件架構(gòu)概覽 8
為什么軟件項目會出問題 9
債務隱喻 10
軟件熵 11
大泥球 11
案例研究 13
當前的業(yè)務背景 14
商機 15
企業(yè)與康威定律 16
知識傳遞 17
知識不是實物 17
電話游戲 18
艱難的一致 19
但是一切皆有可能 20
(重新)思考軟件戰(zhàn)略 22
思考 22
反思 24
單體系統(tǒng)一定不好嗎 27
微服務一定好嗎 28
善待敏捷 30
擺脫困境 33
小結(jié) 34
第2章 基本戰(zhàn)略學習工具 35
決策的早晚和對錯 36
文化和團隊 39
失敗而不是死亡 40
失敗文化不是指責文化 41
康威定律的正確用法 43
啟用安全實驗 46
模塊化優(yōu)先 47
部署放最后 50
介于兩者之間的一切 52
業(yè)務能力、業(yè)務流程和戰(zhàn)略目標 52
針對性的戰(zhàn)略交付 56
利用Cynefin進行決策 60
你的意大利面條在哪里,煮得有多快 63
戰(zhàn)略架構(gòu) 64
應用工具 65
小結(jié) 67
第3章 事件優(yōu)先的實驗和發(fā)現(xiàn) 68
命令與事件 69
使用軟件模型 71
利用事件風暴快速學習 72
當需要遠程事件風暴會議時 74
主持會議 75
宏觀建模 79
應用工具 82
小結(jié) 88
第2部分 推動業(yè)務創(chuàng)新
第4章 獲得領(lǐng)域驅(qū)動的成果 94
領(lǐng)域和子域 96
小結(jié) 99
第5章 專業(yè)知識上下文 101
限界上下文和統(tǒng)一語言 101
核心子域 105
支撐子域、通用子域和技術(shù)機制 106
支撐子域 107
通用子域 107
技術(shù)機制 108
業(yè)務能力和上下文 108
別太大,也別太小 110
小結(jié) 112
第6章 映射的兩面:成功還是失敗 113
上下文映射圖 113
合作關(guān)系 115
共享內(nèi)核 117
客戶方-供應方開發(fā) 118
遵奉者 120
防腐層 122
開放主機服務 123
發(fā)布語言 128
另謀他路 130
地形建模 130
失敗之道與成功之徑 133
應用工具 136
小結(jié) 141
第7章 建模領(lǐng)域概念 142
實體 143
值對象 144
聚合 145
領(lǐng)域服務 146
函數(shù)式行為 147
應用工具 149
小結(jié) 150
第3部分 事件優(yōu)先架構(gòu)
第8章 基礎(chǔ)架構(gòu) 155
架構(gòu)風格、模式和決策 157
端口-適配器架構(gòu) 157
模塊化 163
REST請求-響應 166
質(zhì)量屬性 168
安全性 168
隱私性 171
性能 173
可伸縮性 175
彈性:可靠性和容錯性 175
復雜性 177
應用工具 177
小結(jié) 178
第9章 消息驅(qū)動和事件驅(qū)動架構(gòu) 179
基于消息和事件的REST 183
事件日志 183
訂閱者輪詢 185
服務器發(fā)送事件 186
事件驅(qū)動和流程管理 187
事件溯源 189
CQRS 193
無服務器架構(gòu)和功能即服務 195
應用工具 197
小結(jié) 197
第4部分 兩條通向目標架構(gòu)之路
第10章 構(gòu)造單體 203
歷史回顧 205
慎終于始 207
業(yè)務能力 208
架構(gòu)決策 210
是與非 215
隨變化而變化 217
解耦 220
堅持正確的步伐 224
小結(jié) 225
第11章 從單體到微服務 227
做好心理建設(shè) 227
從模塊化單體到微服務 230
從大泥球單體到微服務 234
用戶交互 235
協(xié)調(diào)數(shù)據(jù)變化 237
決定絞殺什么 242
拔掉遺留單體 244
小結(jié) 245
第12章 平衡要求,管控需求 246
質(zhì)量屬性平衡 246
戰(zhàn)略和目標 247
業(yè)務目標呼喚數(shù)字化轉(zhuǎn)型 247
使用戰(zhàn)略學習工具 248
事件驅(qū)動的輕量級建模 249
推動業(yè)務創(chuàng)新 249
事件優(yōu)先架構(gòu) 250
單體架構(gòu)作為首要關(guān)注點 250
有針對性地將單體拆分為微服務 251
平衡是不偏不倚的,創(chuàng)新是必不可少的 252
小結(jié) 252