注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡網(wǎng)絡與數(shù)據(jù)通信軟件架構(gòu)設(shè)計:大型網(wǎng)站技術(shù)架構(gòu)與業(yè)務架構(gòu)融合之道

軟件架構(gòu)設(shè)計:大型網(wǎng)站技術(shù)架構(gòu)與業(yè)務架構(gòu)融合之道

軟件架構(gòu)設(shè)計:大型網(wǎng)站技術(shù)架構(gòu)與業(yè)務架構(gòu)融合之道

定 價:¥79.00

作 者: 余春龍 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787121356032 出版時間: 2019-02-01 包裝: 平裝
開本: 16開 頁數(shù): 256 字數(shù):  

內(nèi)容簡介

  《軟件架構(gòu)設(shè)計:大型網(wǎng)站技術(shù)架構(gòu)與業(yè)務架構(gòu)融合之道》圍繞軟件架構(gòu)設(shè)計,系統(tǒng)化地梳理技術(shù)架構(gòu)與業(yè)務架構(gòu)的方法論與實踐。《軟件架構(gòu)設(shè)計:大型網(wǎng)站技術(shù)架構(gòu)與業(yè)務架構(gòu)融合之道》內(nèi)容分為5 大部分,第1 部分定義架構(gòu)的概念和范疇;第2 部分從編程語言、操作系統(tǒng)、網(wǎng)絡、數(shù)據(jù)庫、框架、中間件等方面入手,介紹架構(gòu)學的基礎(chǔ)知識;第3 部分從高并發(fā)、高可用與穩(wěn)定性、一致性、CAP 理論等角度,分析技術(shù)架構(gòu)知識;第4 部分從業(yè)務架構(gòu)思維、技術(shù)架構(gòu)與業(yè)務架構(gòu)的融合角度,闡述業(yè)務架構(gòu)知識;第5 部分從個人素質(zhì)、團隊能力兩大方面,詮釋從技術(shù)到管理的轉(zhuǎn)變方法。通過本書,讀者可以對業(yè)務軟件的架構(gòu)方法學有全局的認識,同時對軟件架構(gòu)的核心能力有深刻的理解,對個人的技術(shù)成長起到一定的借鑒作用。 《軟件架構(gòu)設(shè)計:大型網(wǎng)站技術(shù)架構(gòu)與業(yè)務架構(gòu)融合之道》不僅適合工程師、架構(gòu)師閱讀,也適合企業(yè)系統(tǒng)開發(fā)人員在內(nèi)的軟件開發(fā)從業(yè)人員閱讀。

作者簡介

  余春龍,中科院軟件所計算機碩士畢業(yè),目前任唯品會業(yè)務架構(gòu)師。熱衷于高并發(fā)高可用架構(gòu)、業(yè)務建模、領(lǐng)域驅(qū)動設(shè)計,在十年的工作中,做過游戲、社交、廣告、電商等各種類型項目,積累了豐富的工程經(jīng)驗。

圖書目錄

第1部分 什么是架構(gòu)
第1章 五花八門的架構(gòu)師職業(yè) 2
1.1 架構(gòu)師職業(yè)分類 2
1.2 架構(gòu)的分類 2
第2章 架構(gòu)的道與術(shù) 5
2.1 何為道,何為術(shù) 5
2.2 道與術(shù)的辯證關(guān)系 6
第2部分 計算機功底
第3章 語言 10
3.1 層出不窮的編程語言 10
3.2 精通一門語言 10
第4章 操作系統(tǒng) 12
4.1 緩沖I/O和直接I/O 12
4.2 內(nèi)存映射文件與零拷貝 14
4.2.1 內(nèi)存映射文件 14
4.2.2 零拷貝 15
4.3 網(wǎng)絡I/O模型 17
4.3.1 實現(xiàn)層面的網(wǎng)絡I/O模型 17
4.3.2 Reactor模式與Preactor模式 20
4.3.3 select、epoll的LT與ET 20
4.3.4 服務器編程的1+N+M模型 22
4.4 進程、線程和協(xié)程 24
4.5 無鎖(內(nèi)存屏障與CAS) 27
4.5.1 內(nèi)存屏障 27
4.5.2 CAS 30
第5章 網(wǎng)絡 31
5.1 HTTP 1.0 31
5.1.1 HTTP 1.0的問題 31
5.1.2 Keep-Alive機制與Content-Length屬性 31
5.2 HTTP 1.1 32
5.2.1 連接復用與Chunk機制 32
5.2.2 Pipeline與Head-of-line Blocking問題 33
5.2.3 HTTP/2出現(xiàn)之前的性能提升方法 34
5.2.4 “一來多回”問題 35
5.2.5 斷點續(xù)傳 36
5.3 HTTP/2 36
5.3.1 與HTTP 1.1的兼容 37
5.3.2 二進制分幀 37
5.3.3 頭部壓縮 39
5.4 SSL/TLS 39
5.4.1 背景 39
5.4.2 對稱加密的問題 40
5.4.3 雙向非對稱加密 41
5.4.4 單向非對稱加密 42
5.4.5 中間人攻擊 43
5.4.6 數(shù)字證書與證書認證中心 44
5.4.7 根證書與CA信任鏈 45
5.4.8 SSL/TLS協(xié)議:四次握手 47
5.5 HTTPS 48
5.6 TCP/UDP 49
5.6.1 可靠與不可靠 49
5.6.2 TCP的“假”連接(狀態(tài)機) 51
5.6.3 三次握手(網(wǎng)絡2將軍問題) 53
5.6.4 四次揮手 54
5.7 QUIC 56
5.7.1 不丟包(Raid5算法和Raid6算法) 57
5.7.2 更少的RTT 58
5.7.3 連接遷移 58
第6章 數(shù)據(jù)庫 59
6.1 范式與反范式 59
6.2 分庫分表 59
6.2.1 為什么要分 60
6.2.2 分布式ID生成服務 60
6.2.3 拆分維度的選擇 60
6.2.4 Join查詢問題 61
6.2.5 分布式事務 61
6.3 B+樹 62
6.3.1 B+樹邏輯結(jié)構(gòu) 62
6.3.2 B+樹物理結(jié)構(gòu) 63
6.3.3 非主鍵索引 65
6.4 事務與鎖 66
6.4.1 事務的四個隔離級別 66
6.4.2 悲觀鎖和樂觀鎖 67
6.4.3 死鎖檢測 71
6.5 事務實現(xiàn)原理之1:Redo Log 72
6.5.1 Write-Ahead 73
6.5.2 Redo Log的邏輯與物理結(jié)構(gòu) 74
6.5.3 Physiological Logging 75
6.5.4 I/O寫入的原子性(Double Write) 76
6.5.5 Redo Log Block結(jié)構(gòu) 77
6.5.6 事務、LSN與Log Block的關(guān)系 78
6.5.7 事務Rollback與崩潰恢復(ARIES算法) 80
6.6 事務實現(xiàn)原理之2:Undo Log 86
6.6.1 Undo Log是否一定需要 86
6.6.2 Undo Log(MVCC) 88
6.6.3 Undo Log不是Log 89
6.6.4 Undo Log與Redo Log的關(guān)聯(lián) 90
6.6.4 各種鎖 91
6.7 Binlog與主從復制 94
6.7.1 Binlog與Redo Log的主要差異 94
6.7.2 內(nèi)部XA – Binlog與Redo Log一致性問題 95
6.7.3 三種主從復制方式 96
6.7.3 并行復制 97
第7章 框架、軟件與中間件 99
7.1 對生態(tài)體系的認知 99
7.2 框架 99
7.3 軟件與中間件 100
第3部分 技術(shù)架構(gòu)之道
第8章 高并發(fā)問題 104
8.1 問題分類 104
8.1.1 側(cè)重于“高并發(fā)讀”的系統(tǒng) 104
8.1.2 側(cè)重于“高并發(fā)寫”的系統(tǒng) 105
8.1.3 同時側(cè)重于“高并發(fā)讀”和“高并發(fā)寫”的系統(tǒng) 106
8.2 高并發(fā)讀 108
8.2.1 策略1:加緩存 108
8.2.2 策略2:并發(fā)讀 109
8.2.3 策略3:重寫輕讀 110
8.2.4 總結(jié):讀寫分離(CQRS架構(gòu)) 113
8.3 高并發(fā)寫 114
8.3.1 策略1:數(shù)據(jù)分片 114
8.3.2 策略2:任務分片 115
8.3.3 策略3:異步化 117
8.3.4 策略4:批量 123
8.3.5 策略5:串行化+多進程單線程+異步I/O 124
8.4 容量規(guī)劃 125
8.4.1 吞吐量、響應時間與并發(fā)數(shù) 125
8.4.2 壓力測試與容量評估 127
第9章 高可用與穩(wěn)定性 129
9.1 多副本 129
9.2 隔離、限流、熔斷和降級 130
9.3 灰度發(fā)布與回滾 135
9.4 監(jiān)控體系與日志報警 136
第10章 事務一致性 138
10.1 隨處可見的分布式事務問題 138
10.2 分布式事務解決方案匯總 139
10.2.1 2PC 139
10.2.2 最終一致性(消息中間件) 141
10.2.3 TCC 145
10.2.4 事務狀態(tài)表+調(diào)用方重試+接收方冪等 147
10.2.5 對賬 148
10.2.6 妥協(xié)方案:弱一致性+基于狀態(tài)的補償 149
10.2.7 妥協(xié)方案:重試+回滾+報警+人工修復 151
10.2.8 總結(jié) 152
第11章 多副本一致性 153
11.1 高可用且強一致性到底有多難 153
11.1.1 Kafka的消息丟失問題 153
11.1.2 Kafka消息錯亂問題 156
11.2 Paxos算法解析 158
11.2.1 Paxos解決什么問題 158
11.2.2 復制狀態(tài)機 161
11.2.3 一個樸素而深刻的思想 163
11.2.4 Basic Paxos算法 164
11.2.5 Multi Paxos算法 167
11.3 Raft算法解析 169
11.3.1 為“可理解性”而設(shè)計 169
11.3.2 單點寫入 170
11.3.3 日志結(jié)構(gòu) 171
11.3.4 階段1:Leader選舉 174
11.3.5 階段2:日志復制 176
11.3.6 階段3:恢復階段 177
11.3.7 安全性保證 177
11.4 Zab算法解析 180
11.4.1 Replicated State Machine vs. Primary-Backup System 180
11.4.2 zxid 182
11.4.3 “序”:亂序提交 vs. 順序提交 182
11.4.4 Leader選舉:FLE算法 184
11.4.5 正常階段:2階段提交 186
11.4.6 恢復階段 186
11.5 三種算法對比 187
第12章 CAP理論 189
12.1 CAP理論的誤解 189
12.2 現(xiàn)實世界不存在“強一致性”(PACELC理論) 190
12.3 典型案例:分布式鎖 192
第4部分 業(yè)務架構(gòu)之道
第13章 業(yè)務意識 196
13.1 產(chǎn)品經(jīng)理vs.需求分析師 196
13.2 什么叫作一個“業(yè)務” 198
13.3 “業(yè)務架構(gòu)”的雙重含義 199
13.4 “業(yè)務架構(gòu)”與“技術(shù)架構(gòu)”的區(qū)分 200
第14章 業(yè)務架構(gòu)思維 202
14.1 “偽”分層 202
14.2 邊界思維 204
14.3 系統(tǒng)化思維 205
14.4 利益相關(guān)者分析 206
14.5 非功能性需求分析(以終為始) 208
14.6 視角(橫看成嶺側(cè)成峰) 209
14.7 抽象 210
14.8 建模 213
14.9 正交分解 215
第15章 技術(shù)架構(gòu)與業(yè)務架構(gòu)的融合 218
15.1 各式各樣的方法論 218
15.2 為什么要“領(lǐng)域驅(qū)動” 218
15.3 “業(yè)務流程”不等于“系統(tǒng)流程” 221
15.4 為何很難設(shè)計一個好的領(lǐng)域模型 222
15.5 領(lǐng)域驅(qū)動設(shè)計與微服務架構(gòu)的“合” 223
15.6 領(lǐng)域驅(qū)動設(shè)計與讀寫分離(CQRS) 224
15.7 業(yè)務分層架構(gòu)模式 225
15.8 管道—過濾器架構(gòu)模式 226
15.9 狀態(tài)機架構(gòu)模式 226
15.10 業(yè)務切面/業(yè)務閉環(huán)架構(gòu)模式 228
第5部分 從架構(gòu)到技術(shù)管理
第16章 個人素質(zhì)的提升 232
16.1 能力模型 232
16.2 影響力的塑造 234
第17章 團隊能力的提升 237
17.1 不確定性與風險把控 237
17.2 以價值為中心的管理 239
17.3 團隊培養(yǎng) 241

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號