高性能之道: SRE視角下的運(yùn)維架構(gòu)實(shí)踐
定 價(jià):118 元
- 作者:王力 等
- 出版時(shí)間:2023/6/1
- ISBN:9787121454585
- 出 版 社:電子工業(yè)出版社
- 中圖法分類(lèi):TP393.092
- 頁(yè)碼:384
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)從實(shí)踐出發(fā),包括了作者參與并主導(dǎo)的3家電商互聯(lián)網(wǎng)公司架構(gòu)從0到1的構(gòu)建經(jīng)歷,從多個(gè)角度講解穩(wěn)定、性能、效率、成本四大職責(zé)落地經(jīng)驗(yàn),并結(jié)合Mikey金字塔進(jìn)行了部分創(chuàng)新,很多內(nèi)容都可以直接復(fù)用于實(shí)際工作。本書(shū)分為7篇,分別是開(kāi)端篇、監(jiān)控篇、故障篇、容量篇、全局視角篇、性能篇和擴(kuò)展篇。 本書(shū)適合互聯(lián)網(wǎng)行業(yè)內(nèi)的運(yùn)維人員、SRE和DevOps工程師、架構(gòu)師、技術(shù)團(tuán)隊(duì)負(fù)責(zé)人及關(guān)注用戶(hù)體驗(yàn)的相關(guān)開(kāi)發(fā)者閱讀,也適合掌握了一定的SRE方法論但在實(shí)踐中無(wú)從下手的讀者閱讀。
王力,資深技術(shù)老兵,《Nginx實(shí)戰(zhàn):基于Lua語(yǔ)言的配置、開(kāi)發(fā)與架構(gòu)詳解》和《高性能之道:SRE視角下的運(yùn)維架構(gòu)實(shí)踐》作者。15年互聯(lián)網(wǎng)從業(yè)經(jīng)驗(yàn),其中有9年電商互聯(lián)網(wǎng)開(kāi)發(fā)和運(yùn)維經(jīng)驗(yàn),這期間擔(dān)任過(guò)微拍堂運(yùn)維專(zhuān)家、阿里技術(shù)專(zhuān)家、折800運(yùn)維架構(gòu)師等,并有5年主導(dǎo)電商大促活動(dòng)保障的落地經(jīng)驗(yàn),推進(jìn)過(guò)折800、微拍堂兩家電商平臺(tái)運(yùn)維架構(gòu)從0到1的建設(shè),精通服務(wù)的穩(wěn)定性建設(shè),精通高并發(fā)場(chǎng)景下的性能優(yōu)化和中間件開(kāi)發(fā),擅長(zhǎng)通過(guò)架構(gòu)設(shè)計(jì)來(lái)優(yōu)化系統(tǒng)復(fù)雜度、降本增效。本書(shū)提供了一些補(bǔ)充內(nèi)容(比如對(duì)軟件安裝、配置的講解等),大家可以搜微信公眾號(hào)“SRE基礎(chǔ)架構(gòu)”進(jìn)行查閱。
目 錄
開(kāi)端篇 弱化邊界感
第1章 引言 3
1.1 運(yùn)維架構(gòu)和SRE 3
1.2 理解業(yè)務(wù),技術(shù)為業(yè)務(wù)服務(wù) 5
1.3 不設(shè)邊界 6
1.4 SRE金字塔 6
1.5 總結(jié) 7
第2章 重視測(cè)試環(huán)境和預(yù)發(fā)布環(huán)境 8
2.1 提效和維穩(wěn)的第一道門(mén)檻——測(cè)試環(huán)境 9
2.1.1 低級(jí)錯(cuò)誤 9
2.1.2 提效分析 10
2.2 “守門(mén)員”——預(yù)發(fā)布環(huán)境 11
2.2.1 低級(jí)錯(cuò)誤 11
2.2.2 提效分析 12
2.3 兩大環(huán)境問(wèn)題根本原因溯源 12
2.4 微拍堂測(cè)試環(huán)境治理思路介紹 13
2.5 總結(jié) 17
監(jiān)控篇 底層邏輯的藝術(shù)
第3章 淺談監(jiān)控系統(tǒng)設(shè)計(jì) 21
3.1 梳理監(jiān)控體系 21
3.2 梳理監(jiān)控指標(biāo) 22
3.3 變更監(jiān)控 25
3.4 準(zhǔn)實(shí)時(shí)系統(tǒng)監(jiān)控 25
3.5 短時(shí)進(jìn)程追蹤工具 27
3.6 全鏈路監(jiān)控 27
3.7 商業(yè)監(jiān)控平臺(tái)的選用建議 28
3.8 監(jiān)控方式:白盒監(jiān)控與黑盒監(jiān)控 29
3.9 從監(jiān)控?cái)?shù)據(jù)中總結(jié)規(guī)律 30
3.10 黃金指標(biāo) 30
3.11 總結(jié) 31
第4章 云原生可觀測(cè)性開(kāi)源工具——Kindling 32
4.1 行業(yè)現(xiàn)狀 32
4.2 Kindling解決方案——關(guān)聯(lián)內(nèi)核可觀測(cè)性數(shù)據(jù)的Trace 34
4.3 Kindling探針的架構(gòu)設(shè)計(jì)理念 37
4.4 Kindling探針架構(gòu) 38
4.4.1 內(nèi)核態(tài)程序:drivers 38
4.4.2 用戶(hù)態(tài)C/C++程序:kindling-probe 38
4.4.3 用戶(hù)態(tài)Go程序:kindling-collector 39
4.4.4 程序間通信方式 40
4.5 在線Demo介紹 41
4.6 案例分享 42
4.6.1 安裝 43
4.6.2 功能介紹 44
4.6.3 穩(wěn)定性?xún)r(jià)值 47
4.7 總結(jié) 48
第5章 高階實(shí)戰(zhàn)——打造可持續(xù)維護(hù)的閉環(huán)流程 49
5.1 案例:動(dòng)態(tài)觀測(cè)SQL質(zhì)量流程設(shè)計(jì) 50
5.1.1 分析規(guī)范難以落地的原因 50
5.1.2 監(jiān)督與管控流程設(shè)計(jì) 51
5.1.3 通知和統(tǒng)計(jì) 57
5.2 案例:WebP格式圖片的規(guī)范和落地實(shí)踐 57
5.2.1 規(guī)范無(wú)法持續(xù)推廣 57
5.2.2 成本和用戶(hù)體驗(yàn)上的雙贏 58
5.2.3 計(jì)劃實(shí)施 60
5.2.4 管控機(jī)制 60
5.2.5 采集數(shù)據(jù)信息和數(shù)據(jù)加工處理 60
5.2.6 巡檢平臺(tái)之規(guī)范化監(jiān)督 61
5.3 案例:管道通信規(guī)范化實(shí)踐 62
5.3.1 我們每天都在使用管道 62
5.3.2 管道示例場(chǎng)景及性能說(shuō)明 64
5.3.3 如何規(guī)范管道使用場(chǎng)景 66
5.4 標(biāo)準(zhǔn)和規(guī)范治理平臺(tái) 67
5.4.1 現(xiàn)狀 68
5.4.2 設(shè)計(jì)思路 68
5.5 總結(jié) 72
第6章 挖掘Nginx的監(jiān)控價(jià)值 73
6.1 URI指紋服務(wù)設(shè)計(jì) 73
6.2 Nginx日志分析指南 76
6.2.1 參數(shù)白名單 76
6.2.2 URI的響應(yīng)時(shí)間和HTTP狀態(tài)監(jiān)控 77
6.2.3 URI響應(yīng)字節(jié)數(shù)波動(dòng)分析 77
6.2.4 查詢(xún)URL請(qǐng)求的項(xiàng)目 79
6.2.5 注意HTTPS的透?jìng)?80
6.2.6 利用Nginx完成動(dòng)態(tài)全鏈路比例調(diào)整 81
6.3 總結(jié) 82
故障篇 故障的生命周期
第7章 事前治理的方法論 85
7.1 從故障中總結(jié)經(jīng)驗(yàn) 85
7.2 從系統(tǒng)資源層面和日志中巡檢異常 86
7.3 從標(biāo)準(zhǔn)和規(guī)范中尋找閉環(huán)之路 86
7.4 從業(yè)務(wù)中挖掘基礎(chǔ)服務(wù)的使用問(wèn)題 87
7.5 技術(shù)風(fēng)險(xiǎn)防控運(yùn)營(yíng)成本 87
7.6 總結(jié) 88
第8章 變更管控設(shè)計(jì)思路 89
8.1 變更管控 89
8.1.1 變更對(duì)象 89
8.1.2 變更發(fā)布 90
8.1.3 變更可灰度 91
8.1.4 變更可回滾 92
8.1.5 變更可監(jiān)控 92
8.1.6 配置項(xiàng)變更 92
8.1.7 變更管控思路 92
8.2 JumpServer使用的藝術(shù)及工單交互 96
8.3 變更三板斧:運(yùn)維團(tuán)隊(duì)的可監(jiān)控、可灰度、可回滾實(shí)踐 98
8.3.1 案例:云服務(wù)器資源伸縮穩(wěn)定性 98
8.3.2 案例:CDN OpenResty的變更策略 102
8.4 總結(jié) 106
第9章 輪值的設(shè)計(jì)思路 107
9.1 值班模式探究 108
9.1.1 讓開(kāi)發(fā)人員參與其中 108
9.1.2 制定KPI 109
9.1.3 值班人員的邊界探討 110
9.2 值班機(jī)器人 111
9.3 提升值班價(jià)值——SRE需求池設(shè)計(jì) 112
9.3.1 結(jié)合日常巡檢與非值班時(shí)間 112
9.3.2 在煩瑣的工作中收集需求 112
9.4 總結(jié) 113
第10章 故障演練與應(yīng)急預(yù)案 114
10.1 故障演練緣由 114
10.1.1 更好地面對(duì)系統(tǒng)規(guī)模增長(zhǎng)帶來(lái)的復(fù)雜性 115
10.1.2 提升故障的排查速度 115
10.1.3 驗(yàn)證應(yīng)急預(yù)案的正確性 115
10.1.4 驗(yàn)證基礎(chǔ)設(shè)施的穩(wěn)定性 116
10.1.5 驗(yàn)證監(jiān)控感知能力 116
10.1.6 驗(yàn)證應(yīng)急流程的順暢度 116
10.2 故障演練流程 116
10.2.1 故障演練場(chǎng)景關(guān)鍵要素 116
10.2.2 故障演練預(yù)期 117
10.3 應(yīng)急預(yù)案 119
10.3.1 應(yīng)急場(chǎng)景標(biāo)準(zhǔn)化 120
10.3.2 梳理應(yīng)急預(yù)案清單 120
10.4 總結(jié) 121
第11章 應(yīng)急響應(yīng)流程實(shí)踐 122
11.1 收攏故障上報(bào)來(lái)源 122
11.1.1 從技術(shù)體系內(nèi)部發(fā)現(xiàn) 122
11.1.2 從技術(shù)體系外部發(fā)現(xiàn) 123
11.2 建立應(yīng)急小組 123
11.2.1 人多力量弱 123
11.2.2 穩(wěn)定性接口人和崗位權(quán)限 123
11.2.3 完善客訴標(biāo)準(zhǔn)化術(shù)語(yǔ) 124
11.3 故障噪點(diǎn)治理 124
11.3.1 報(bào)警治理 124
11.3.2 設(shè)計(jì)外部反饋閾值 125
11.3.3 收集第三方抖動(dòng)事件 125
11.4 控制應(yīng)急節(jié)奏 126
11.4.1 舍小保大 126
11.4.2 “優(yōu)先止血”,后續(xù)定位根本原因 127
11.4.3 及時(shí)同步信息,減少信息差 127
11.5 應(yīng)急“止血”的常見(jiàn)操作 127
11.5.1 代碼回滾 127
11.5.2 重啟 128
11.5.3 時(shí)序監(jiān)控下的限流、熔斷、擴(kuò)容 129
11.5.4 業(yè)務(wù)降級(jí) 130
11.5.5 阻斷慢查詢(xún) 131
11.5.6 網(wǎng)絡(luò)與運(yùn)營(yíng)商 131
11.5.7 重識(shí)監(jiān)控 132
11.6 總結(jié) 132
第12章 靜態(tài)容災(zāi)降級(jí)系統(tǒng) 133
12.1 荊棘之路 134
12.2 設(shè)計(jì)之路 136
12.3 架構(gòu)流程圖 138
12.3.1 反向代理系統(tǒng) 138
12.3.2 日志分析系統(tǒng) 138
12.3.3 后臺(tái)系統(tǒng)——利用URI指紋服務(wù) 138
12.3.4 爬蟲(chóng)系統(tǒng) 139
12.3.5 容災(zāi)的緩存系統(tǒng) 140
12.3.6 基于時(shí)間的版本用途 140
12.3.7 異地容災(zāi) 141
12.4 核心代碼解說(shuō) 142
12.4.1 Ngx_Lua應(yīng)用 142
12.4.2 爬蟲(chóng)和日志分析系統(tǒng)的關(guān)系 143
12.4.3 完全容災(zāi)和部分容災(zāi)功能 144
12.5 靜態(tài)容災(zāi)的智能關(guān)閉方案 145
12.5.1 從日志分析系統(tǒng)復(fù)制請(qǐng)求 145
12.5.2 利用GoReplay復(fù)制流量 145
12.5.3 利用Nginx的mirror鏡像功能 146
12.5.4 灰度驗(yàn)證容災(zāi)系統(tǒng)緩存——閉環(huán)設(shè)計(jì) 147
12.6 替換爬蟲(chóng)的新思路 148
12.7 總結(jié) 148
第13章 基于OpenResty的動(dòng)態(tài)限流設(shè)計(jì)思路 150
13.1 常見(jiàn)反向代理限流方案缺點(diǎn)分析 150
13.2 動(dòng)態(tài)限流設(shè)計(jì)思路 151
13.3 多維度限流 154
13.4 智能感知響應(yīng)能力動(dòng)態(tài)控速設(shè)計(jì)方案 157
13.5 屏蔽慢請(qǐng)求帶來(lái)的服務(wù)阻塞 159
13.6 總結(jié) 160
第14章 故障復(fù)盤(pán) 161
14.1 復(fù)盤(pán)前 161
14.2 復(fù)盤(pán)中 161
14.3 復(fù)盤(pán)后 164
14.4 自省 164
14.5 跨部門(mén)分享 165
14.6 故障庫(kù) 165
14.7 總結(jié) 165
容量篇 性能與成本間的平衡
第15章 成本優(yōu)化 169
15.1 成本優(yōu)化事前準(zhǔn)備 169
15.1.1 目標(biāo)的制定和價(jià)值體現(xiàn) 170
15.1.2 IT成本與人力成本的權(quán)衡 170
15.1.3 提升對(duì)系統(tǒng)的理解 171
15.1.4 評(píng)估優(yōu)化前后的數(shù)據(jù)統(tǒng)計(jì)及業(yè)務(wù)影響 171
15.1.5 從用戶(hù)體驗(yàn)看待成本優(yōu)化 173
15.1.6 梳理業(yè)務(wù)和資源的關(guān)系 173
15.2 公有云基礎(chǔ)資源優(yōu)化實(shí)踐 174
15.2.1 成本管理白皮書(shū) 174
15.2.2 合理化資源使用率 177
15.2.3 自建產(chǎn)品和云產(chǎn)品的使用場(chǎng)景優(yōu)化 178
15.2.4 基于業(yè)務(wù)場(chǎng)景的成本控制 179
15.3 總結(jié) 180
第16章 智能伸縮平臺(tái) 181
16.1 彈性伸縮平臺(tái)關(guān)鍵路徑盤(pán)點(diǎn) 181
16.2 基礎(chǔ)設(shè)施建設(shè) 182
16.2.1 基于Pod的HPA傳統(tǒng)模式 182
16.2.2 基于Cluster-Autoscaler的Node伸縮 184
16.3 基于業(yè)務(wù)場(chǎng)景的實(shí)戰(zhàn) 189
16.3.1 定時(shí)伸縮 189
16.3.2 基于預(yù)測(cè)的彈性伸縮 191
16.4 風(fēng)險(xiǎn)控制體系 199
16.4.1 動(dòng)態(tài)限流觸發(fā)規(guī)則 199
16.4.2 擴(kuò)容節(jié)點(diǎn)失敗和業(yè)務(wù)降級(jí) 200
16.5 總結(jié) 200
第17章 容量規(guī)劃 201
17.1 容量規(guī)劃現(xiàn)狀 201
17.2 容量規(guī)劃建設(shè)思路 202
17.2.1 建設(shè)核心 202
17.2.2 建設(shè)思路 203
17.3 應(yīng)用系統(tǒng)容量規(guī)劃說(shuō)明 204
17.4 基于巡檢模式的容量評(píng)估流程 205
17.4.1 對(duì)流量來(lái)源的梳理 205
17.4.2 對(duì)容量對(duì)象的梳理 206
17.4.3 收集日常關(guān)鍵性數(shù)據(jù) 207
17.5 對(duì)容量規(guī)劃關(guān)注點(diǎn)的梳理 210
17.5.1 壓力測(cè)試 210
17.5.2 業(yè)務(wù)放量 212
17.5.3 大促活動(dòng) 213
17.5.4 秒殺業(yè)務(wù) 214
17.5.5 關(guān)注運(yùn)營(yíng)活動(dòng)計(jì)劃 214
17.5.6 尖刺限流 215
17.6 總結(jié) 215
第18章 編程能力 216
18.1 養(yǎng)成寫(xiě)偽代碼的習(xí)慣 216
18.2 養(yǎng)成管理代碼的習(xí)慣 217
18.3 編程能力分級(jí) 218
18.4 編程能力更深層的價(jià)值探討 219
18.4.1 如何看待PHP短連接問(wèn)題 219
18.4.2 理解Redis和Memcached在業(yè)務(wù)場(chǎng)景上的區(qū)別 220
18.4.3 進(jìn)程、線程、協(xié)程在Linux系統(tǒng)中的表現(xiàn) 221
18.4.4 探究阻塞和非阻塞、異步和同步在系統(tǒng)中的表現(xiàn) 223
18.4.5 共享內(nèi)存 224
18.4.6 嘗試一些導(dǎo)致進(jìn)程崩潰的操作 224
18.4.7 學(xué)習(xí)秒殺系統(tǒng)的業(yè)務(wù)架構(gòu) 225
18.4.8 給自己的代碼做閉環(huán)實(shí)踐 226
18.4.9 參與業(yè)務(wù)開(kāi)發(fā)日常 226
18.5 熟悉編程語(yǔ)言特性 226
18.6 通過(guò)系統(tǒng)分析倒推應(yīng)用配置問(wèn)題 227
18.6.1 通過(guò)access函數(shù)發(fā)現(xiàn)PHP性能問(wèn)題 227
18.6.2 Java連接池失效 228
18.7 總結(jié) 229
全局視角篇 運(yùn)維破圈
第19章 開(kāi)啟測(cè)試視角 233
19.1 測(cè)試人員的職責(zé)邊界 233
19.2 壓力測(cè)試 234
19.2.1 壓測(cè)黑名單思維 235
19.2.2 壓測(cè)利器Wrk 235
19.2.3 流量鏡像工具GoReplay 235
19.3 自動(dòng)化測(cè)試監(jiān)控平臺(tái)設(shè)計(jì) 237
19.3.1 “牽一發(fā)而動(dòng)全身”的迭代 238
19.3.2 OpenDiffy介紹 238
19.3.3 變更管控的支撐系統(tǒng)OpenDiffy+GoReplay 239
19.4 破壞性測(cè)試探究 239
19.5 從前端的體驗(yàn)“找碴兒” 240
19.5.1 基于瀏覽器特性的服務(wù)優(yōu)化 240
19.5.2 從圖片加載中尋找優(yōu)化方法 241
19.5.3 數(shù)據(jù)埋點(diǎn)的發(fā)送頻率 242
19.5.4 域名的使用限制 243
19.5.5 請(qǐng)求重復(fù)性 243
19.5.6 PageSpeed Insights分析頁(yè)面的加載 243
19.5.7 定期的內(nèi)耗分析 245
19.6 總結(jié) 245
第20章 開(kāi)啟用戶(hù)視角 246
20.1 內(nèi)外兼顧 246
20.1.1 內(nèi)部用戶(hù) 247
20.1.2 外部用戶(hù) 248
20.2 建立反饋機(jī)制 249
20.2.1 優(yōu)化客服反饋機(jī)制 249
20.2.2 與客服合作的案例分享 249
20.2.3 獎(jiǎng)勵(lì)機(jī)制 250
20.2.4 關(guān)注輿情 250
20.3 產(chǎn)品體驗(yàn)——谷歌SRE的高階思維 251
20.3.1 不僅僅是體驗(yàn) 251
20.3.2 交互煩瑣 252
20.3.3 無(wú)人問(wèn)津 252
20.3.4 ROI 252
20.4 防御體系的“誤傷”指南 253
20.4.1 WAF“誤傷” 253
20.4.2 內(nèi)部風(fēng)控“誤傷” 254
20.5 關(guān)注客戶(hù)端環(huán)境 254
20.5.1 客戶(hù)端機(jī)型配置 254
20.5.2 網(wǎng)絡(luò) 255
20.6 總結(jié) 255
第21章 開(kāi)啟前端和App開(kāi)發(fā)人員視角 256
21.1 概述 256
21.2 為什么要解決性能問(wèn)題 257
21.3 緩存 257
21.3.1 強(qiáng)緩存 257
21.3.2 協(xié)商緩存 259
21.4 網(wǎng)絡(luò)請(qǐng)求 261
21.4.1 HTTP/2.0 261
21.4.2 DNS預(yù)解析 262
21.4.3 預(yù)先建立連接 262
21.4.4 服務(wù)器應(yīng)該避免過(guò)多重定向 263
21.5 客戶(hù)端計(jì)算 263
21.6 預(yù)加載 265
21.7 梳理技術(shù)風(fēng)險(xiǎn) 265
21.7.1 請(qǐng)求阻塞式串行加載 266
21.7.2 埋點(diǎn)發(fā)送過(guò)于頻繁 266
21.7.3 弱網(wǎng)下的資源加載降級(jí) 266
21.7.4 撥測(cè) 266
21.8 總結(jié) 267
第22章 DNS應(yīng)用場(chǎng)景實(shí)踐 268
22.1 利用DNS完成故障轉(zhuǎn)移 268
22.2 使用HTTPDNS提升訪問(wèn)穩(wěn)定性 271
22.3 提升測(cè)試、A/B測(cè)試等環(huán)境的切換效率 273
22.4 域名反向解析用途實(shí)踐 273
22.5 內(nèi)部DNS系統(tǒng)高可用實(shí)踐 274
22.5.1 兩次DNS故障 275
22.5.2 問(wèn)題和思考 276
22.5.3 改進(jìn)措施 278
22.5.4 配置及驗(yàn)證 279
22.5.5 監(jiān)控 283
22.6 總結(jié) 284
性能篇 SRE進(jìn)階之路
第23章 高并發(fā)網(wǎng)關(guān)價(jià)值探究 287
23.1 通用功能介紹 287
23.2 網(wǎng)關(guān)中的聚合模式 288
23.2.1 Lura啟示錄 289
23.2.2 APISIX中的batch-requests插件 289
23.2.3 從GraphQL發(fā)現(xiàn)的技術(shù)實(shí)踐思路 291
23.3 兼顧緩存的網(wǎng)關(guān)設(shè)計(jì)思路 293
23.3.1 APISIX的proxy-cache插件 293
23.3.2 利用聚合拼接緩存資源 293
23.3.3 鑒權(quán)和緩存剝離 294
23.4 總結(jié) 295
第24章 高性能Varnish緩存系統(tǒng) 296
24.1 HTTP緩存對(duì)后端服務(wù)的價(jià)值分析 296
24.2 CDN緩存和Varnish緩存的共存模式 298
24.3 安裝Varnish和所需模塊 299
24.4 配置文件概覽 300
24.5 穩(wěn)定性建設(shè)所依賴(lài)的功能 300
24.5.1 神圣模式 300
24.5.2 寬限模式——異步緩存更新 302
24.5.3 更安穩(wěn)的軟清除 303
24.6 最佳實(shí)踐 304
24.6.1 動(dòng)態(tài)緩存時(shí)間配置 304
24.6.2 熱Key及秒殺系統(tǒng)的緩存實(shí)踐 305
24.6.3 后端服務(wù)故障轉(zhuǎn)移 306
24.6.4 高并發(fā)下Varnish啟動(dòng)參數(shù)優(yōu)化 307
24.6.5 Varnish配置模板優(yōu)化實(shí)踐 307
24.6.6 測(cè)試環(huán)境緩存系統(tǒng)的干擾事件 309
24.7 總結(jié) 309
第25章 SRE漏斗優(yōu)化法則 310
25.1 SRE性能優(yōu)化之漏斗優(yōu)化法則 311
25.2 漏斗優(yōu)化法則的技術(shù)棧梳理 312
25.2.1 減少訪問(wèn)量 312
25.2.2 減少返回的數(shù)據(jù) 313
25.2.3 減少交互次數(shù) 313
25.2.4 降低CPU、內(nèi)存使用率 314
25.2.5 提升資源利用率 314
25.3 總結(jié) 315
第26章 awesome性能分析工具 316
26.1 站在巨人的肩膀上工作 316
26.1.1 系統(tǒng)性能分析常見(jiàn)清單 317
26.1.2 bcc-tools工具清單 319
26.1.3 火焰圖 320
26.2 Netdata 320
26.3 總結(jié) 321
第27章 性能優(yōu)化實(shí)踐錦集 322
27.1 TIME_WAIT優(yōu)化方案擴(kuò)展 322
27.2 利用Ngx_Lua縮短請(qǐng)求鏈路 323
27.3 eBPF在Kubernetes上的應(yīng)用 325
27.3.1 kubectl-trace 325
27.3.2 使用前提 325
27.3.3 使用優(yōu)點(diǎn) 325
27.3.4 使用場(chǎng)景 326
27.3.5 安裝 326
27.4 善用CDN 327
27.4.1 靜態(tài)加速 327
27.4.2 動(dòng)態(tài)加速 328
27.4.3 緩存過(guò)期保護(hù)策略 328
27.5 記一次中臺(tái)服務(wù)優(yōu)化實(shí)戰(zhàn) 329
27.5.1 尋找優(yōu)化目標(biāo) 330
27.5.2 抽絲剝繭——嘗試優(yōu)化方案 331
27.5.3 使用go pprof火焰圖發(fā)現(xiàn)端倪 333
27.5.4 回顧復(fù)盤(pán) 337
27.6 總結(jié) 337
擴(kuò)展篇 在團(tuán)隊(duì)間搭建橋梁
第28章 業(yè)務(wù)開(kāi)發(fā)人員視角下的技術(shù)風(fēng)險(xiǎn) 341
28.1 了解業(yè)務(wù)開(kāi)發(fā)人員 342
28.1.1 工作內(nèi)容 342
28.1.2 廢棄十年如一日 343
28.1.3 重構(gòu)并非易事 343
28.1.4 發(fā)布前的檢查清單 344
28.1.5 站在巨人的肩膀上編程 344
28.1.6 拒絕偽需求 345
28.2 大淘客之旅 346
28.2.1 對(duì)話高層,達(dá)成共識(shí) 346
28.2.2 對(duì)話業(yè)務(wù)線負(fù)責(zé)人 347
28.2.3 重識(shí)目標(biāo),各個(gè)擊破 347
28.2.4 技術(shù)氛圍和激勵(lì)政策 348
28.2.5 “曲線救國(guó)”的技術(shù)路線 348
28.3 總結(jié) 351
第29章 SRE視角全篇總結(jié) 352
29.1 齊心協(xié)力 353
29.1.1 關(guān)鍵要素 353
29.1.2 華山論劍 353
29.2 競(jìng)品分析——最后1公里 355
29.3 故障降級(jí)系統(tǒng)——來(lái)自監(jiān)控的溝通藝術(shù) 355
29.3.1 抽象業(yè)務(wù)形態(tài) 355
29.3.2 抽象監(jiān)控觸發(fā)條件 357
29.3.3 收攏零散性的自愈任務(wù) 357
29.4 重識(shí)CMDB價(jià)值 357
29.5 總結(jié) 358