億級流量網(wǎng)站架構(gòu)核心技術(shù)是一本互聯(lián)網(wǎng)高并發(fā)架構(gòu)設(shè)計的百科全書,是互聯(lián)網(wǎng)一線技術(shù)研發(fā)人員的實戰(zhàn)手冊,是保證大規(guī)模電商系統(tǒng)高流量、高頻次的葵花寶典,由張開濤著,電子工業(yè)出版社出版。全書詳細(xì)地闡述了開發(fā)高并發(fā)高可用網(wǎng)站的一系列關(guān)鍵原則問題。就如何實現(xiàn)系統(tǒng)高可用,流量高并發(fā)進(jìn)行了深刻剖析,同時例舉了大量的真實應(yīng)用案例,幫助讀者深入了解。
億級流量網(wǎng)站架構(gòu)核心技術(shù)高屋建瓴,抓住了大型高并發(fā)網(wǎng)站設(shè)計的核心,從設(shè)計原則,到高性能、高吞吐量、高可用的系統(tǒng)設(shè)計,到高靈敏的監(jiān)控系統(tǒng)構(gòu)思、再到應(yīng)急方案的制定,不失細(xì)節(jié),又不拘泥于細(xì)節(jié)。相比其他已出版的關(guān)于大型網(wǎng)站的架構(gòu)類的書籍,億級流量網(wǎng)站架構(gòu)核心技術(shù)更加貼近實戰(zhàn),追求實用,所有內(nèi)容來自于實戰(zhàn),文章內(nèi)容也是與同道和網(wǎng)友們互動后改進(jìn)的,本書也沒有那些為了構(gòu)建一個“完整的體系”而只起到填充作用的段落。特別適合那些快速成長型企業(yè)網(wǎng)站的建設(shè)者,互聯(lián)網(wǎng)行業(yè)的研發(fā)人員,對較大規(guī)模網(wǎng)站的重構(gòu)也有借鑒意義。
內(nèi)容介紹
《億級流量網(wǎng)站架構(gòu)核心技術(shù)》一書總結(jié)并梳理了億級流量網(wǎng)站高可用和高并發(fā)原則,通過實例詳細(xì)介紹了如何落地這些原則。本書分為四部分:概述、高可用原則、高并發(fā)原則、案例實戰(zhàn)。從負(fù)載均衡、限流、降級、隔離、超時與重試、回滾機(jī)制、壓測與預(yù)案、緩存、池化、異步化、擴(kuò)容、隊列等多方面詳細(xì)介紹了億級流量網(wǎng)站的架構(gòu)核心技術(shù),讓讀者看后能快速運用到實踐項目中。
不管是軟件開發(fā)人員,還是運維人員,通過閱讀《億級流量網(wǎng)站架構(gòu)核心技術(shù)》都能系統(tǒng)地學(xué)習(xí)實現(xiàn)億級流量網(wǎng)站的架構(gòu)核心技術(shù),并收獲解決系統(tǒng)問題的思路和方法。
億級流量網(wǎng)站架構(gòu)核心技術(shù)章節(jié)目錄
第1部分 概述 / 1
1 交易型系統(tǒng)設(shè)計的一些原則 / 2
1.1 高并發(fā)原則 / 3
1.1.1 無狀態(tài) / 3
1.1.2 拆分 / 3
1.1.3 服務(wù)化 / 4
1.1.4 消息隊列 / 4
1.1.5 數(shù)據(jù)異構(gòu) / 6
1.1.6 緩存銀彈 / 7
1.1.7 并發(fā)化 / 9
1.2 高可用原則 / 10
1.2.1 降級 / 10
1.2.2 限流 / 11
1.2.3 切流量 / 12
1.2.4 可回滾 / 12
1.3 業(yè)務(wù)設(shè)計原則 / 12
1.3.1 防重設(shè)計 / 13
1.3.2 冪等設(shè)計 / 13
1.3.3 流程可定義 / 13
1.3.4 狀態(tài)與狀態(tài)機(jī) / 13
1.3.5 后臺系統(tǒng)操作可反饋 / 14
1.3.6 后臺系統(tǒng)審批化 / 14
1.3.7 文檔和注釋 / 14
1.3.8 備份 / 14
1.4 總結(jié) / 14
第2部分 高可用 / 17
2 負(fù)載均衡與反向代理 / 18
2.1 upstream配置 / 20
2.2 負(fù)載均衡算法 / 21
2.3 失敗重試 / 23
2.4 健康檢查 / 24
2.4.1 TCP心跳檢查 / 24
2.4.2 HTTP心跳檢查 / 25
2.5 其他配置 / 25
2.5.1 域名上游服務(wù)器 / 25
2.5.2 備份上游服務(wù)器 / 26
2.5.3 不可用上游服務(wù)器 / 26
2.6 長連接 / 26
2.7 HTTP反向代理示例 / 29
2.8 HTTP動態(tài)負(fù)載均衡 / 30
2.8.1 Consul+Consul-template / 31
2.8.2 Consul+OpenResty / 35
2.9 Nginx四層負(fù)載均衡 / 39
2.9.1 靜態(tài)負(fù)載均衡 / 39
2.9.2 動態(tài)負(fù)載均衡 / 41
參考資料 / 42
3 隔離術(shù) / 43
3.1 線程隔離 / 43
3.2 進(jìn)程隔離 / 45
3.3 集群隔離 / 45
3.4 機(jī)房隔離 / 46
3.5 讀寫隔離 / 47
3.6 動靜隔離 / 48
3.7 爬蟲隔離 / 49
3.8 熱點隔離 / 50
3.9 資源隔離 / 50
3.10 使用Hystrix實現(xiàn)隔離 / 51
3.10.1 Hystrix簡介 / 51
3.10.2 隔離示例 / 52
3.11 基于Servlet 3實現(xiàn)請求隔離 / 56
3.11.1 請求解析和業(yè)務(wù)處理線程池分離 / 57
3.11.2 業(yè)務(wù)線程池隔離 / 58
3.11.3 業(yè)務(wù)線程池監(jiān)控/運維/降級 / 58
3.11.4 如何使用Servlet 3異步化 / 59
3.11.5 一些Servlet 3異步化壓測數(shù)據(jù) / 64
4 限流詳解 / 66
4.1 限流算法 / 67
4.1.1 令牌桶算法 / 67
4.1.2 漏桶算法 / 68
4.2 應(yīng)用級限流 / 69
4.2.1 限流總并發(fā)/連接/請求數(shù) / 69
4.2.2 限流總資源數(shù) / 70
4.2.3 限流某個接口的總并發(fā)/請求數(shù) / 70
4.2.4 限流某個接口的時間窗請求數(shù) / 70
4.2.5 平滑限流某個接口的請求數(shù) / 71
4.3 分布式限流 / 75
4.3.1 Redis+Lua實現(xiàn) / 76
4.3.2 Nginx+Lua實現(xiàn) / 77
4.4 接入層限流 / 78
4.4.1 ngx_http_limit_conn_module / 78
4.4.2 ngx_http_limit_req_module / 80
4.4.3 lua-resty-limit-traffic / 88
4.5 節(jié)流 / 90
4.5.1 throttleFirst/throttleLast / 90
4.5.2 throttleWithTimeout / 91
參考資料 / 92
5 降級特技 / 93
5.1 降級預(yù)案 / 93
5.2 自動開關(guān)降級 / 95
5.2.1 超時降級 / 95
5.2.2 統(tǒng)計失敗次數(shù)降級 / 95
5.2.3 故障降級 / 95
5.2.4 限流降級 / 95
5.3 人工開關(guān)降級 / 96
5.4 讀服務(wù)降級 / 96
5.5 寫服務(wù)降級 / 97
5.6 多級降級 / 98
5.7 配置中心 / 100
5.7.1 應(yīng)用層API封裝 / 100
5.7.2 配置文件實現(xiàn)開關(guān)配置 / 101
5.7.3 配置中心實現(xiàn)開關(guān)配置 / 102
5.8 使用Hystrix實現(xiàn)降級 / 106
5.9 使用Hystrix實現(xiàn)熔斷 / 108
5.9.1 熔斷機(jī)制實現(xiàn) / 108
5.9.2 配置示例 / 112
5.9.3 采樣統(tǒng)計 / 113
6 超時與重試機(jī)制 / 117
6.1 簡介 / 117
6.2 代理層超時與重試 / 119
6.2.1 Nginx / 119
6.2.2 Twemproxy / 126
6.3 Web容器超時 / 127
6.4 中間件客戶端超時與重試 / 127
6.5 數(shù)據(jù)庫客戶端超時 / 131
6.6 NoSQL客戶端超時 / 134
6.7 業(yè)務(wù)超時 / 135
6.8 前端Ajax超時 / 135
6.9 總結(jié) / 136
6.10 參考資料 / 137
7 回滾機(jī)制 / 139
7.1 事務(wù)回滾 / 139
7.2 代碼庫回滾 / 140
7.3 部署版本回滾 / 141
7.4 數(shù)據(jù)版本回滾 / 142
7.5 靜態(tài)資源版本回滾 / 143
8 壓測與預(yù)案 / 145
8.1 系統(tǒng)壓測 / 145
8.1.1 線下壓測 / 146
8.1.2 線上壓測 / 146
8.2 系統(tǒng)優(yōu)化和容災(zāi) / 147
8.3 應(yīng)急預(yù)案 / 148
第3部分 高并發(fā) / 153
9 應(yīng)用級緩存 / 154
9.1 緩存簡介 / 154
9.2 緩存命中率 / 155
9.3 緩存回收策略 / 155
9.3.1 基于空間 / 155
9.3.2 基于容量 / 155
9.3.3 基于時間 / 155
9.3.4 基于Java對象引用 / 156
9.3.5 回收算法 / 156
9.4 Java緩存類型 / 156
9.4.1 堆緩存 / 158
9.4.2 堆外緩存 / 162
9.4.3 磁盤緩存 / 162
9.4.4 分布式緩存 / 164
9.4.5 多級緩存 / 166
9.5 應(yīng)用級緩存示例 / 167
9.5.1 多級緩存API封裝 / 167
9.5.2 NULL Cache / 170
9.5.3 強(qiáng)制獲取最新數(shù)據(jù) / 170
9.5.4 失敗統(tǒng)計 / 171
9.5.5 延遲報警 / 171
9.6 緩存使用模式實踐 / 172
9.6.1 Cache-Aside / 173
9.6.2 Cache-As-SoR / 174
9.6.3 Read-Through / 174
9.6.4 Write-Through / 176
9.6.5 Write-Behind / 177
9.6.6 Copy Pattern / 181
9.7 性能測試 / 181
9.8 參考資料 / 182
10 HTTP緩存 / 183
10.1 簡介 / 183
10.2 HTTP緩存 / 184
10.2.1 Last-Modified / 184
10.2.2 ETag / 190
10.2.3 總結(jié) / 192
10.3 HttpClient客戶端緩存 / 192
10.3.1 主流程 / 195
10.3.2 清除無效緩存 / 195
10.3.3 查找緩存 / 196
10.3.4 緩存未命中 / 198
10.3.5 緩存命中 / 198
10.3.6 緩存內(nèi)容陳舊需重新驗證 / 202
10.3.7 緩存內(nèi)容無效需重新執(zhí)行請求 / 205
10.3.8 緩存響應(yīng) / 206
10.3.9 緩存頭總結(jié) / 207
10.4 Nginx HTTP緩存設(shè)置 / 208
10.4.1 expires / 208
10.4.2 if-modified-since / 209
10.4.3 nginx proxy_pass / 209
10.5 Nginx代理層緩存 / 212
10.5.1 Nginx代理層緩存配置 / 212
10.5.2 清理緩存 / 215
10.6 一些經(jīng)驗 / 216
參考資料 / 217
11 多級緩存 / 218
11.1 多級緩存介紹 / 218
11.2 如何緩存數(shù)據(jù) / 220
11.2.1 過期與不過期 / 220
11.2.2 維度化緩存與增量緩存 / 221
11.2.3 大Value緩存 / 221
11.2.4 熱點緩存 / 221
11.3 分布式緩存與應(yīng)用負(fù)載均衡 / 222
11.3.1 緩存分布式 / 222
11.3.2 應(yīng)用負(fù)載均衡 / 222
11.4 熱點數(shù)據(jù)與更新緩存 / 223
11.4.1 單機(jī)全量緩存+主從 / 223
11.4.2 分布式緩存+應(yīng)用本地?zé)狳c / 224
11.5 更新緩存與原子性 / 225
11.6 緩存崩潰與快速修復(fù) / 226
11.6.1 取模 / 226
11.6.2 一致性哈希 / 226
11.6.3 快速恢復(fù) / 226
12 連接池線程池詳解 / 227
12.1 數(shù)據(jù)庫連接池 / 227
12.1.1 DBCP連接池配置 / 228
12.1.2 DBCP配置建議 / 233
12.1.3 數(shù)據(jù)庫驅(qū)動超時實現(xiàn) / 234
12.1.4 連接池使用的一些建議 / 235
12.2 HttpClient連接池 / 236
12.2.1 HttpClient 4.5.2配置 / 236
12.2.2 HttpClient連接池源碼分析 / 240
12.2.3 HttpClient 4.2.3配置 / 241
12.2.4 問題示例 / 243
12.3 線程池 / 244
12.3.1 Java線程池 / 245
12.3.2 Tomcat線程池配置 / 248
13 異步并發(fā)實戰(zhàn) / 250
13.1 同步阻塞調(diào)用 / 251
13.2 異步Future / 252
13.3 異步Callback / 253
13.4 異步編排CompletableFuture / 254
13.5 異步Web服務(wù)實現(xiàn) / 257
13.6 請求緩存 / 259
13.7 請求合并 / 261
14 如何擴(kuò)容 / 266
14.1 單體應(yīng)用垂直擴(kuò)容 / 267
14.2 單體應(yīng)用水平擴(kuò)容 / 267
14.3 應(yīng)用拆分 / 268
14.4 數(shù)據(jù)庫拆分 / 271
14.5 數(shù)據(jù)庫分庫分表示例 / 275
14.5.1 應(yīng)用層還是中間件層 / 275
14.5.2 分庫分表策略 / 277
14.5.3 使用sharding-jdbc分庫分表 / 279
14.5.4 sharding-jdbc分庫分表配置 / 279
14.5.5 使用sharding-jdbc讀寫分離 / 283
14.6 數(shù)據(jù)異構(gòu) / 284
14.6.1 查詢維度異構(gòu) / 284
14.6.2 聚合數(shù)據(jù)異構(gòu) / 285
14.7 任務(wù)系統(tǒng)擴(kuò)容 / 285
14.7.1 簡單任務(wù) / 285
14.7.2 分布式任務(wù) / 287
14.7.3 Elastic-Job簡介 / 287
14.7.4 Elastic-Job-Lite功能與架構(gòu) / 287
14.7.5 Elastic-Job-Lite示例 / 288
15 隊列術(shù) / 295
15.1 應(yīng)用場景 / 295
15.2 緩沖隊列 / 296
15.3 任務(wù)隊列 / 297
15.4 消息隊列 / 297
15.5 請求隊列 / 299
15.6 數(shù)據(jù)總線隊列 / 300
15.7 混合隊列 / 301
15.8 其他隊列 / 302
15.9 Disruptor+Redis隊列 / 303
15.10 下單系統(tǒng)水平可擴(kuò)展架構(gòu) / 311
第4部分 案例 / 323
16 構(gòu)建需求響應(yīng)式億級商品詳情頁 / 324
16.1 商品詳情頁是什么 / 324
16.2 商品詳情頁前端結(jié)構(gòu) / 325
16.3 我們的性能數(shù)據(jù) / 327
16.4 單品頁流量特點 / 327
16.5 單品頁技術(shù)架構(gòu)發(fā)展 / 327
16.5.1 架構(gòu)1.0 / 328
16.5.2 架構(gòu)2.0 / 328
16.5.3 架構(gòu)3.0 / 330
16.6 詳情頁架構(gòu)設(shè)計原則 / 332
16.7 遇到的一些坑和問題 / 339
16.8 其他 / 347
17 京東商品詳情頁服務(wù)閉環(huán)實踐 / 348
17.1 為什么需要統(tǒng)一服務(wù) / 348
17.2 整體架構(gòu) / 349
17.3 一些架構(gòu)思路和總結(jié) / 350
17.4 引入Nginx接入層 / 354
17.5 前端業(yè)務(wù)邏輯后置 / 356
17.6 前端接口服務(wù)端聚合 / 357
17.7 服務(wù)隔離 / 359
18 使用OpenResty開發(fā)高性能Web應(yīng)用 / 360
18.1 OpenResty簡介 / 361
18.1.1 Nginx優(yōu)點 / 361
18.1.2 Lua的優(yōu)點 / 361
18.1.3 什么是ngx_lua / 361
18.1.4 開發(fā)環(huán)境 / 362
18.1.5 OpenResty生態(tài) / 362
18.1.6 場景 / 362
18.2 基于OpenResty的常用架構(gòu)模式 / 363
18.3 如何使用OpenResty開發(fā)Web應(yīng)用 / 371
18.4 基于OpenResty的常用功能總結(jié) / 375
18.5 一些問題 / 376
19 應(yīng)用數(shù)據(jù)靜態(tài)化架構(gòu)高性能單頁Web應(yīng)用 / 377
19.1 整體架構(gòu) / 378
19.2 數(shù)據(jù)和模板動態(tài)化 / 381
19.3 多版本機(jī)制 / 381
19.4 異常問題 / 382
20 使用OpenResty開發(fā)Web服務(wù) / 383
20.1 架構(gòu) / 383
20.2 單DB架構(gòu) / 384
20.3 實現(xiàn) / 387
21 使用OpenResty開發(fā)商品詳情頁 / 405
21.1 技術(shù)選型 / 407
21.2 核心流程 / 408
21.3 項目搭建 / 408
21.4 數(shù)據(jù)存儲實現(xiàn) / 410
21.5 動態(tài)服務(wù)實現(xiàn) / 422
21.6 前端展示實現(xiàn) / 430
使用說明
1、下載并解壓,得出pdf文件
2、如果在電腦上打不開pdf文件,別著急,那么您需要先在電腦上下載一個pdf閱讀軟件
3、有pdf閱讀文件直接雙擊即可打開pdf文件
- 下載地址
發(fā)表評論
0條評論軟件排行榜
熱門推薦
- 有柿電腦版 v11.6.284.23M / 簡體中文
- cnki全球?qū)W術(shù)快報電腦版 v1.0.1135.99M / 簡體中文
- 南方Plus電腦版 v11.9.026.47M / 簡體中文
- 開源閱讀電腦版 v3.2517.96M / 簡體中文
- 瀟湘書院電腦版 v2.3.11.888官方版49.65M / 簡體中文
- 數(shù)據(jù)挖掘?qū)д?官方版61.61M / 簡體中文
- 未公開的Oracle數(shù)據(jù)庫秘密 迪貝斯pdf掃描版34.69M / 簡體中文
- PHP語言精粹電子書 pdf掃描版25.72M / 簡體中文
- Scala程序設(shè)計第二版 pdf高清完整版15.83M / 簡體中文
- HotSpot實戰(zhàn)(陳濤著) 中文pdf掃描版82M / 簡體中文