分布式系統(tǒng)架構(gòu)架構(gòu):策略與難題求解
王巖, 邢硯敏, 吳兵華, 梁越 譯
出版時(shí)間:2023年05月
頁(yè)數(shù):344
“對(duì)于每個(gè)要構(gòu)建現(xiàn)代分布式系統(tǒng)的架構(gòu)師來說,本書是必讀的?!?br />
——Aleksandar Seramoski
Thoughtworks首席咨詢師
在軟件架構(gòu)中沒有簡(jiǎn)單的決策。相反,這里困難重重,充滿各種問題,并且沒有最佳實(shí)踐。通過本書,你將學(xué)會(huì)如何用批判性思維來考慮分布式架構(gòu)中的利弊。
4位作者探討了選擇合適的分布式系統(tǒng)架構(gòu)的策略,通過貫穿全書的Sysops Squad(一個(gè)虛構(gòu)的技術(shù)小組)的傳奇故事研究了架構(gòu)的各種可能性,包括如何確定服務(wù)粒度、管理工作流和編排、管理和解耦契約、管理分布式事務(wù),以及如何優(yōu)化運(yùn)維特征,例如可伸縮性、彈性和性能。
通過關(guān)注常見問題,本書提供了一些技巧來幫助你發(fā)現(xiàn)架構(gòu)問題并進(jìn)行權(quán)衡分析。
通過閱讀本書,你將學(xué)會(huì):
● 分析利弊并有效記錄你的決策。
● 對(duì)服務(wù)粒度做出更好的決策。
● 理解分解單體應(yīng)用的復(fù)雜性。
● 在高度分布式架構(gòu)中處理數(shù)據(jù)。
● 在分解應(yīng)用程序時(shí)管理工作流和事務(wù)的模式。
- 前言
- 第1章 沒有最佳實(shí)踐會(huì)怎么樣
- 1.1 何為“難點(diǎn)”
- 1.2 永不過時(shí)的軟件架構(gòu)建議
- 1.3 數(shù)據(jù)在架構(gòu)中的重要性
- 1.4 架構(gòu)決策記錄
- 1.5 架構(gòu)適應(yīng)度函數(shù)
- 1.6 架構(gòu)與設(shè)計(jì):保持定義簡(jiǎn)單
- 1.7 引入Sysops Squad的傳奇故事
- 第一部分 分而治之
- 第2章 識(shí)別軟件架構(gòu)中的耦合
- 2.1 架構(gòu)量子
- 2.2 Sysops Squad的傳奇故事:理解量子
- 第3章 架構(gòu)模塊化
- 3.1 模塊化的驅(qū)動(dòng)因素
- 3.2 Sysops Squad的傳奇故事:創(chuàng)建業(yè)務(wù)案例
- 第4章 架構(gòu)分解
- 4.1 代碼庫(kù)能分解嗎
- 4.2 基于組件的分解
- 4.3 戰(zhàn)術(shù)分叉
- 4.4 Sysops Squad的傳奇故事:走上分解之路
- 第5章 基于組件的分解模式
- 5.1 識(shí)別和調(diào)整組件模式
- 5.2 收集公共領(lǐng)域組件模式
- 5.3 扁平化組件模式
- 5.4 明確組件依賴項(xiàng)模式
- 5.5 構(gòu)建組件領(lǐng)域模式
- 5.6 構(gòu)建領(lǐng)域服務(wù)模式
- 5.7 總結(jié)
- 第6章 分離業(yè)務(wù)型數(shù)據(jù)
- 6.1 數(shù)據(jù)分解的驅(qū)動(dòng)因素
- 6.2 分解單體數(shù)據(jù)
- 6.3 數(shù)據(jù)庫(kù)類型的選擇
- 6.4 Sysops Squad的傳奇故事:多維數(shù)據(jù)庫(kù)
- 第7章 服務(wù)粒度
- 7.1 粒度分解因素
- 7.2 粒度集成因素
- 7.3 找到正確的平衡
- 7.4 Sysops Squad的傳奇故事:工單分配粒度
- 7.5 Sysops Squad的傳奇故事:客戶注冊(cè)粒度
- 第二部分 合而為一
- 第8章 復(fù)用模式
- 8.1 代碼復(fù)制
- 8.2 共享庫(kù)
- 8.3 共享服務(wù)
- 8.4 邊車和服務(wù)網(wǎng)格
- 8.5 Sysops Squad的傳奇故事:公共基礎(chǔ)設(shè)施邏輯
- 8.6 代碼復(fù)用:何時(shí)帶來價(jià)值
- 8.7 Sysops Squad的傳奇故事:共享領(lǐng)域功能
- 第9章 數(shù)據(jù)所有權(quán)和分布式事務(wù)
- 9.1 分配數(shù)據(jù)所有權(quán)
- 9.2 單一所有權(quán)場(chǎng)景
- 9.3 公共所有權(quán)場(chǎng)景
- 9.4 共同所有權(quán)場(chǎng)景
- 9.5 數(shù)據(jù)所有權(quán)總結(jié)
- 9.6 分布式事務(wù)
- 9.7 最終一致性模式
- 9.8 Sysops Squad的傳奇故事:工單處理的數(shù)據(jù)所有權(quán)
- 第10章 分布式數(shù)據(jù)訪問
- 10.1 服務(wù)間通信模式
- 10.2 列schema復(fù)制模式
- 10.3 復(fù)制緩存模式
- 10.4 數(shù)據(jù)領(lǐng)域模式
- 10.5 Sysops Squad的傳奇故事:工單分配的數(shù)據(jù)訪問
- 第11章 管理分布式工作流
- 11.1 集中編排式通信
- 11.2 分散協(xié)作式通信
- 11.3 權(quán)衡集中編排與分散協(xié)作
- 11.4 Sysops Squad的傳奇故事:工作流管理
- 第12章 事務(wù)Saga
- 12.1 事務(wù)Saga的8種模式
- 12.2 狀態(tài)管理與最終一致性
- 12.3 管理Saga的手段
- 12.4 Sysops Squad的傳奇故事:原子性事務(wù)和補(bǔ)償更新
- 第13章 契約
- 13.1 嚴(yán)格契約與寬松契約
- 13.2 微服務(wù)中的契約
- 13.3 郵戳耦合
- 13.4 Sysops Squad的傳奇故事:管理工單契約
- 第14章 管理分析型數(shù)據(jù)
- 14.1 以前的方法
- 14.2 數(shù)據(jù)網(wǎng)格
- 14.3 Sysops Squad的傳奇故事:數(shù)據(jù)網(wǎng)格
- 第15章 打造你自己的權(quán)衡分析
- 15.1 找出彼此糾纏的部分
- 15.2 權(quán)衡利弊的技巧
- 15.3 Sysops Squad的傳奇故事:尾聲
書名:分布式系統(tǒng)架構(gòu)架構(gòu):策略與難題求解
譯者:王巖, 邢硯敏, 吳兵華, 梁越 譯
國(guó)內(nèi)出版社:機(jī)械工業(yè)出版社
出版時(shí)間:2023年05月
頁(yè)數(shù):344
書號(hào):978-7-111-72422-3
原版書書名:Software Architecture: The Hard Parts
原版書出版商:O'Reilly Media
Neal Ford
Neal Ford是Thoughtworks公司的總監(jiān)、軟件架構(gòu)師和meme wrangler。
Mark Richards
Mark Richards是一位經(jīng)驗(yàn)豐富的軟件架構(gòu)師,他參與了微服務(wù)架構(gòu)、事件驅(qū)動(dòng)架構(gòu)和其他分布式架構(gòu)的架構(gòu)、設(shè)計(jì)和實(shí)現(xiàn)。
Mark Richards is an accomplished author and conference speaker working as a handson SOA and enterprise architect in the financial services industry. In addition to numerous published articles, he is the author of Java Transaction Design Strategies (C4Media), contributing author of 97 Things Every Software Architect Should Know (O’Reilly), and contributing author of No Fluff, Just Stuff Anthology Volumes 1 and 2
(Pragmatic Bookshelf). He is a recognized authority on messaging, Service-Oriented Architecture, and transaction management. Mark is a regular speaker on the NFJS
Software Symposium series and speaks at conferences around the world.
Pramod Sadalage
Pramod Sadalage是Thoughtworks的數(shù)據(jù)及DevOps總監(jiān),他擅長(zhǎng)應(yīng)用程序開發(fā)、敏捷數(shù)據(jù)庫(kù)開發(fā)、演進(jìn)式數(shù)據(jù)庫(kù)設(shè)計(jì)、算法設(shè)計(jì)和數(shù)據(jù)庫(kù)管理。
Zhamak Dehghani
Zhamak Dehghani是Thoughtworks的技術(shù)總監(jiān)。她專注于企業(yè)中的分布式系統(tǒng)和數(shù)據(jù)架構(gòu)領(lǐng)域,是多個(gè)技術(shù)咨詢委員會(huì)的成員,包括Thoughtworks的技術(shù)委員會(huì)。Zhamak倡導(dǎo)一切事物的去中心化,包括架構(gòu)、數(shù)據(jù)等。她是DataMesh的創(chuàng)始人。