注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計發(fā)布!設(shè)計與部署穩(wěn)定的分布式系統(tǒng)(第2版)

發(fā)布!設(shè)計與部署穩(wěn)定的分布式系統(tǒng)(第2版)

發(fā)布!設(shè)計與部署穩(wěn)定的分布式系統(tǒng)(第2版)

定 價:¥89.00

作 者: 邁克爾·尼加德 著,吾真本 譯
出版社: 人民郵電出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787115529862 出版時間: 2020-01-01 包裝: 平裝
開本: 16開 頁數(shù): 271 字?jǐn)?shù):  

內(nèi)容簡介

  作者根據(jù)自己的親身經(jīng)歷和某些大型企業(yè)的案例,講述了如何創(chuàng)建高穩(wěn)定性的軟件系統(tǒng),分析了設(shè)計和實現(xiàn)中導(dǎo)致系統(tǒng)出現(xiàn)問題的原因。全書分為四個部分,每部分內(nèi)容都由一個研究案例引出。第一部分介紹了如何保證系統(tǒng)的生存,即維護(hù)系統(tǒng)正常運行。第二部分介紹了為生產(chǎn)環(huán)境而設(shè)計,從基礎(chǔ)層、實例層、互連層和控制層等方面構(gòu)建系統(tǒng)安全性。第三部分講述了交付系統(tǒng),列出系統(tǒng)在部署過程中有可能出現(xiàn)的問題。第四部分引入適用性和混沌工程的概念,討論了如何解決系統(tǒng)性問題。

作者簡介

  作者介紹 邁克爾·尼加德,程序員兼架構(gòu)師,擁有20余年的從業(yè)經(jīng)驗,先后為美國政府以及銀行、金融、農(nóng)業(yè)、零售等多個行業(yè)交付過運營系統(tǒng),對如何在不利的環(huán)境下構(gòu)建高性能、高可靠性的軟件有獨到的見解。譯者介紹 吾真本,本名伍斌,ThoughtWorks首席咨詢師,著有測試驅(qū)動開發(fā)入門讀物《馴服爛代碼》。工作20余年,做過程序員、測試工程師、項目經(jīng)理、敏捷教練。最近7年成功輔導(dǎo)10余家大型金融和科技公司的敏捷和DevOps轉(zhuǎn)型團(tuán)隊。曾主辦多場編程道場,人稱“道長”。

圖書目錄

第 1章 生產(chǎn)環(huán)境的生存法則 1
1.1 瞄準(zhǔn)正確的目標(biāo) 1
1.2 應(yīng)對不斷擴(kuò)大的挑戰(zhàn)范圍 2
1.3 多花5萬美元來節(jié)省100萬美元 3
1.4 讓“原力”與決策同在 4
1.5 設(shè)計務(wù)實的架構(gòu) 4
1.6 小結(jié) 5
第 一部分 創(chuàng)造穩(wěn)定性 7
第 2章 案例研究:讓航空公司停飛的代碼異常 8
2.1 進(jìn)行變更 9
2.2 遭遇停機 10
2.3 嚴(yán)重后果 12
2.4 事后分析 12
2.5 尋找線索 13
2.6 證據(jù)確鑿 16
2.7 預(yù)防管用嗎 18
第3章 讓系統(tǒng)穩(wěn)定運行 19
3.1 定義穩(wěn)定性 20
3.2 延長系統(tǒng)壽命 20
3.3 系統(tǒng)失效方式 21
3.4 阻止裂紋蔓延 22
3.5 系統(tǒng)失效鏈 23
3.6 小結(jié) 24
第4章 穩(wěn)定性的反模式 25
4.1 集成點 26
4.1.1 套接字協(xié)議 29
4.1.2 凌晨5點的緊急電話 31
4.1.3 HTTP協(xié)議 35
4.1.4 供應(yīng)商的API程序庫 36
4.1.5 應(yīng)對集成點的問題 37
4.1.6 要點回顧 37
4.2 同層連累反應(yīng) 38
4.3 層疊失效 41
4.4 用戶 42
4.4.1 網(wǎng)絡(luò)流量 42
4.4.2 難伺候的用戶 46
4.4.3 不受歡迎的用戶 47
4.4.4 惡意用戶 50
4.4.5 要點回顧 51
4.5 線程阻塞 51
4.5.1 發(fā)現(xiàn)阻塞 53
4.5.2 程序庫 55
4.5.3 要點回顧 56
4.6 自黑式攻擊 57
4.6.1 避免自黑式攻擊 57
4.6.2 要點回顧 58
4.7 放大效應(yīng) 58
4.7.1 點對點通信 59
4.7.2 共享資源 60
4.7.3 要點回顧 61
4.8 失衡的系統(tǒng)容量 62
4.8.1 通過測試發(fā)現(xiàn)系統(tǒng)容量失衡 63
4.8.2 要點回顧 63
4.9 一窩蜂 64
4.10 做出誤判的機器 66
4.10.1 被放大的停機事故 66
4.10.2 控制和防護(hù)措施 69
4.10.3 要點回顧 69
4.11 緩慢的響應(yīng) 70
4.12 無限長的結(jié)果集 71
4.12.1 黑色星期一 71
4.12.2 要點回顧 73
4.13 小結(jié) 74
第5章 穩(wěn)定性的模式 75
5.1 超時 75
5.2 斷路器 78
5.3 艙壁 80
5.4 穩(wěn)態(tài) 83
5.4.1 數(shù)據(jù)清除 84
5.4.2 日志文件 85
5.4.3 內(nèi)存中的緩存 86
5.4.4 要點回顧 86
5.5 快速失敗 87
5.6 任其崩潰并替換 89
5.6.1 有限的粒度 89
5.6.2 快速替換 90
5.6.3 監(jiān)管 90
5.6.4 重新歸隊 91
5.6.5 要點回顧 91
5.7 握手 91
5.8 考驗機 93
5.9 中間件解耦 96
5.10 卸下負(fù)載 98
5.11 背壓機制 99
5.12 調(diào)速器 101
5.13 小結(jié) 102
第二部分 為生產(chǎn)環(huán)境而設(shè)計 103
第6章 案例研究:屋漏偏逢連夜雨 104
6.1 寶寶的第 一個感恩節(jié) 105
6.2 把脈 106
6.3 感恩節(jié) 106
6.4 黑色星期五 107
6.5 生命體征 108
6.6 進(jìn)行診斷 109
6.7 求助專家 110
6.8 如何應(yīng)對 111
6.9 應(yīng)對奏效嗎 111
6.10 尾聲 112
第7章 基礎(chǔ)層 114
7.1 數(shù)據(jù)中心和云端的聯(lián)網(wǎng) 115
7.1.1 網(wǎng)卡和名字 116
7.1.2 多網(wǎng)絡(luò)編程 118
7.2 物理主機、虛擬機和容器 119
7.2.1 物理主機 119
7.2.2 數(shù)據(jù)中心的虛擬機 119
7.2.3 數(shù)據(jù)中心的容器 120
7.2.4 云上的虛擬機 123
7.2.5 云上的容器 125
7.3 小結(jié) 125
第8章 實例層 126
8.1 代碼 128
8.1.1 構(gòu)建代碼 128
8.1.2 不可變、易處理的基礎(chǔ)設(shè)施 129
8.2 配置 130
8.2.1 配置文件 131
8.2.2 易處理基礎(chǔ)設(shè)施的配置 131
8.3 明晰性 132
8.3.1 明晰性設(shè)計 133
8.3.2 提升明晰性的實現(xiàn)技術(shù) 134
8.3.3 記錄日志 134
8.3.4 實例的健康度量指標(biāo) 137
8.3.5 健康狀況檢查 138
8.4 小結(jié) 138
第9章 互連層 139
9.1 不同規(guī)模的解決方案 139
9.2 使用DNS 140
9.2.1 基于DNS的服務(wù)發(fā)現(xiàn) 140
9.2.2 基于DNS的負(fù)載均衡 141
9.2.3 基于DNS的GSLB 142
9.2.4 DNS的可用性 144
9.2.5 要點回顧 144
9.3 負(fù)載均衡 144
9.3.1 軟件負(fù)載均衡 145
9.3.2 硬件負(fù)載均衡 146
9.3.3 健康狀況檢查 147
9.3.4 會話黏性 147
9.3.5 按請求類型分隔流量 148
9.3.6 要點回顧 148
9.4 控制請求數(shù)量 148
9.4.1 系統(tǒng)為何會失效 149
9.4.2 防止災(zāi)難 150
9.4.3 要點回顧 151
9.5 網(wǎng)絡(luò)路由 151
9.6 發(fā)現(xiàn)服務(wù) 153
9.7 遷移虛擬IP地址 154
9.8 小結(jié) 155
第 10章 控制層 156
10.1 適合的控制層工具 156
10.2 機械效益 157
10.2.1 屬于系統(tǒng)失效,而非人為錯誤 158
10.2.2 運行得太快也有問題 158
10.3 平臺和生態(tài)系統(tǒng) 159
10.4 開發(fā)環(huán)境就是生產(chǎn)環(huán)境 160
10.5 整個系統(tǒng)的明晰性 161
10.5.1 真實用戶監(jiān)控 162
10.5.2 經(jīng)濟(jì)價值高于技術(shù)價值 162
10.5.3 碎片化的風(fēng)險 164
10.5.4 日志和統(tǒng)計信息 164
10.5.5 要監(jiān)控什么 165
10.6 配置服務(wù) 166
10.7 環(huán)境整備和部署服務(wù) 167
10.8 命令與控制 169
10.8.1 要控制什么 169
10.8.2 發(fā)送命令 170
10.8.3 可編寫腳本的界面 170
10.8.4 要點回顧 171
10.9 平臺廠商 171
10.10 工具清單 172
10.11 小結(jié) 172
第 11章 安全性 173
11.1 OWASP十大安全漏洞 173
11.1.1 注入 174
11.1.2 失效的身份驗證和會話管理 175
11.1.3 跨站腳本攻擊 178
11.1.4 失效的訪問控制 179
11.1.5 安全配置出現(xiàn)失誤 181
11.1.6 敏感數(shù)據(jù)泄露 182
11.1.7 防范攻擊不足 183
11.1.8 CSRF 183
11.1.9 使用含有已知漏洞的組件 184
11.1.10 API保護(hù)不足 185
11.2 最小特權(quán)原則 186
11.3 密碼的配置 187
11.4 安全即持續(xù)的過程 187
11.5 小結(jié) 188
第三部分 將系統(tǒng)交付 189
第 12章 案例研究:等待戈多 190
第 13章 為部署而設(shè)計 193
13.1 機器與服務(wù) 193
13.2 計劃停機時間的謬誤 193
13.3 自動化部署 194
13.4 持續(xù)部署 197
13.5 部署中的各個階段 198
13.5.1 關(guān)系數(shù)據(jù)庫模式 200
13.5.2 無模式數(shù)據(jù)庫 202
13.5.3 Web資源 205
13.5.4 推出新代碼 206
13.5.5 清理 208
13.6 像行家一樣部署 209
13.7 小結(jié) 210
第 14章 處理版本問題 211
14.1 幫助他人處理版本問題 211
14.1.1 不會破壞API的變更 211
14.1.2 破壞API的變更 215
14.2 處理其他系統(tǒng)的版本問題 217
14.3 小結(jié) 219
第四部分 解決系統(tǒng)性問題 221
第 15章 案例研究:不能承受的巨大顧客流量 222
15.1 倒計時后推出新系統(tǒng) 222
15.2 以QA測試為目標(biāo) 223
15.3 負(fù)載測試 225
15.4 被眾多因素所害 227
15.5 測試仍然有差距 229
15.6 善后 229
第 16章 適應(yīng)性 232
16.1 努力與回報的關(guān)系 232
16.2 過程和組織 233
16.2.1 平臺團(tuán)隊 235
16.2.2 愉快地發(fā)布 236
16.2.3 演化最重要的部分是滅絕 237
16.2.4 在團(tuán)隊級別實現(xiàn)自治 239
16.2.5 謹(jǐn)防高效率 240
16.2.6 過程和組織小結(jié) 242
16.3 系統(tǒng)架構(gòu) 242
16.3.1 演進(jìn)式架構(gòu) 242
16.3.2 松散的集群 245
16.3.3 顯式上下文 246
16.3.4 創(chuàng)造更多選項 247
16.3.5 系統(tǒng)架構(gòu)小結(jié) 252
16.4 信息架構(gòu) 252
16.4.1 消息、事件和命令 253
16.4.2 讓服務(wù)自己控制其資源的標(biāo)識符 254
16.4.3 URL的兩重性 256
16.4.4 擁抱多義性 259
16.4.5 避免概念泄露 260
16.4.6 信息架構(gòu)小結(jié) 261
16.5 小結(jié) 261
第 17章 混沌工程 262
17.1 不可能構(gòu)建第二個Facebook去做測試 262
17.2 混沌工程的先驅(qū) 263
17.3 猴子軍團(tuán) 264
17.4 使用自己的混沌猴 265
17.4.1 先決條件 266
17.4.2 設(shè)計實驗 266
17.4.3 3種混沌注入 267
17.4.4 有針對性地注入混沌 268
17.4.5 自動和重復(fù) 269
17.5 從人的方面模擬災(zāi)難 270
17.6 小結(jié) 271

本目錄推薦

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