億級(jí)流量網(wǎng)站架構(gòu)核心技術(shù)是一本互聯(lián)網(wǎng)高并發(fā)架構(gòu)設(shè)計(jì)的百科全書(shū),是互聯(lián)網(wǎng)一線技術(shù)研發(fā)人員的實(shí)戰(zhàn)手冊(cè),是保證大規(guī)模電商系統(tǒng)高流量、高頻次的葵花寶典,由張開(kāi)濤著,電子工業(yè)出版社出版。全書(shū)詳細(xì)地闡述了開(kāi)發(fā)高并發(fā)高可用網(wǎng)站的一系列關(guān)鍵原則問(wèn)題。就如何實(shí)現(xiàn)系統(tǒng)高可用,流量高并發(fā)進(jìn)行了深刻剖析,同時(shí)例舉了大量的真實(shí)應(yīng)用案例,幫助讀者深入了解。
億級(jí)流量網(wǎng)站架構(gòu)核心技術(shù)高屋建瓴,抓住了大型高并發(fā)網(wǎng)站設(shè)計(jì)的核心,從設(shè)計(jì)原則,到高性能、高吞吐量、高可用的系統(tǒng)設(shè)計(jì),到高靈敏的監(jiān)控系統(tǒng)構(gòu)思、再到應(yīng)急方案的制定,不失細(xì)節(jié),又不拘泥于細(xì)節(jié)。相比其他已出版的關(guān)于大型網(wǎng)站的架構(gòu)類的書(shū)籍,億級(jí)流量網(wǎng)站架構(gòu)核心技術(shù)更加貼近實(shí)戰(zhàn),追求實(shí)用,所有內(nèi)容來(lái)自于實(shí)戰(zhàn),文章內(nèi)容也是與同道和網(wǎng)友們互動(dòng)后改進(jìn)的,本書(shū)也沒(méi)有那些為了構(gòu)建一個(gè)“完整的體系”而只起到填充作用的段落。特別適合那些快速成長(zhǎng)型企業(yè)網(wǎng)站的建設(shè)者,互聯(lián)網(wǎng)行業(yè)的研發(fā)人員,對(duì)較大規(guī)模網(wǎng)站的重構(gòu)也有借鑒意義。
內(nèi)容介紹
《億級(jí)流量網(wǎng)站架構(gòu)核心技術(shù)》一書(shū)總結(jié)并梳理了億級(jí)流量網(wǎng)站高可用和高并發(fā)原則,通過(guò)實(shí)例詳細(xì)介紹了如何落地這些原則。本書(shū)分為四部分:概述、高可用原則、高并發(fā)原則、案例實(shí)戰(zhàn)。從負(fù)載均衡、限流、降級(jí)、隔離、超時(shí)與重試、回滾機(jī)制、壓測(cè)與預(yù)案、緩存、池化、異步化、擴(kuò)容、隊(duì)列等多方面詳細(xì)介紹了億級(jí)流量網(wǎng)站的架構(gòu)核心技術(shù),讓讀者看后能快速運(yùn)用到實(shí)踐項(xiàng)目中。
不管是軟件開(kāi)發(fā)人員,還是運(yùn)維人員,通過(guò)閱讀《億級(jí)流量網(wǎng)站架構(gòu)核心技術(shù)》都能系統(tǒng)地學(xué)習(xí)實(shí)現(xiàn)億級(jí)流量網(wǎng)站的架構(gòu)核心技術(shù),并收獲解決系統(tǒng)問(wèn)題的思路和方法。
億級(jí)流量網(wǎng)站架構(gòu)核心技術(shù)章節(jié)目錄
第1部分 概述 / 1
1 交易型系統(tǒng)設(shè)計(jì)的一些原則 / 2
1.1 高并發(fā)原則 / 3
1.1.1 無(wú)狀態(tài) / 3
1.1.2 拆分 / 3
1.1.3 服務(wù)化 / 4
1.1.4 消息隊(duì)列 / 4
1.1.5 數(shù)據(jù)異構(gòu) / 6
1.1.6 緩存銀彈 / 7
1.1.7 并發(fā)化 / 9
1.2 高可用原則 / 10
1.2.1 降級(jí) / 10
1.2.2 限流 / 11
1.2.3 切流量 / 12
1.2.4 可回滾 / 12
1.3 業(yè)務(wù)設(shè)計(jì)原則 / 12
1.3.1 防重設(shè)計(jì) / 13
1.3.2 冪等設(shè)計(jì) / 13
1.3.3 流程可定義 / 13
1.3.4 狀態(tài)與狀態(tài)機(jī) / 13
1.3.5 后臺(tái)系統(tǒng)操作可反饋 / 14
1.3.6 后臺(tái)系統(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 長(zhǎng)連接 / 26
2.7 HTTP反向代理示例 / 29
2.8 HTTP動(dòng)態(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 動(dòng)態(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 讀寫(xiě)隔離 / 47
3.6 動(dòng)靜隔離 / 48
3.7 爬蟲(chóng)隔離 / 49
3.8 熱點(diǎn)隔離 / 50
3.9 資源隔離 / 50
3.10 使用Hystrix實(shí)現(xiàn)隔離 / 51
3.10.1 Hystrix簡(jiǎn)介 / 51
3.10.2 隔離示例 / 52
3.11 基于Servlet 3實(shí)現(xiàn)請(qǐng)求隔離 / 56
3.11.1 請(qǐng)求解析和業(yè)務(wù)處理線程池分離 / 57
3.11.2 業(yè)務(wù)線程池隔離 / 58
3.11.3 業(yè)務(wù)線程池監(jiān)控/運(yùn)維/降級(jí) / 58
3.11.4 如何使用Servlet 3異步化 / 59
3.11.5 一些Servlet 3異步化壓測(cè)數(shù)據(jù) / 64
4 限流詳解 / 66
4.1 限流算法 / 67
4.1.1 令牌桶算法 / 67
4.1.2 漏桶算法 / 68
4.2 應(yīng)用級(jí)限流 / 69
4.2.1 限流總并發(fā)/連接/請(qǐng)求數(shù) / 69
4.2.2 限流總資源數(shù) / 70
4.2.3 限流某個(gè)接口的總并發(fā)/請(qǐng)求數(shù) / 70
4.2.4 限流某個(gè)接口的時(shí)間窗請(qǐng)求數(shù) / 70
4.2.5 平滑限流某個(gè)接口的請(qǐng)求數(shù) / 71
4.3 分布式限流 / 75
4.3.1 Redis+Lua實(shí)現(xiàn) / 76
4.3.2 Nginx+Lua實(shí)現(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 降級(jí)特技 / 93
5.1 降級(jí)預(yù)案 / 93
5.2 自動(dòng)開(kāi)關(guān)降級(jí) / 95
5.2.1 超時(shí)降級(jí) / 95
5.2.2 統(tǒng)計(jì)失敗次數(shù)降級(jí) / 95
5.2.3 故障降級(jí) / 95
5.2.4 限流降級(jí) / 95
5.3 人工開(kāi)關(guān)降級(jí) / 96
5.4 讀服務(wù)降級(jí) / 96
5.5 寫(xiě)服務(wù)降級(jí) / 97
5.6 多級(jí)降級(jí) / 98
5.7 配置中心 / 100
5.7.1 應(yīng)用層API封裝 / 100
5.7.2 配置文件實(shí)現(xiàn)開(kāi)關(guān)配置 / 101
5.7.3 配置中心實(shí)現(xiàn)開(kāi)關(guān)配置 / 102
5.8 使用Hystrix實(shí)現(xiàn)降級(jí) / 106
5.9 使用Hystrix實(shí)現(xiàn)熔斷 / 108
5.9.1 熔斷機(jī)制實(shí)現(xiàn) / 108
5.9.2 配置示例 / 112
5.9.3 采樣統(tǒng)計(jì) / 113
6 超時(shí)與重試機(jī)制 / 117
6.1 簡(jiǎn)介 / 117
6.2 代理層超時(shí)與重試 / 119
6.2.1 Nginx / 119
6.2.2 Twemproxy / 126
6.3 Web容器超時(shí) / 127
6.4 中間件客戶端超時(shí)與重試 / 127
6.5 數(shù)據(jù)庫(kù)客戶端超時(shí) / 131
6.6 NoSQL客戶端超時(shí) / 134
6.7 業(yè)務(wù)超時(shí) / 135
6.8 前端Ajax超時(shí) / 135
6.9 總結(jié) / 136
6.10 參考資料 / 137
7 回滾機(jī)制 / 139
7.1 事務(wù)回滾 / 139
7.2 代碼庫(kù)回滾 / 140
7.3 部署版本回滾 / 141
7.4 數(shù)據(jù)版本回滾 / 142
7.5 靜態(tài)資源版本回滾 / 143
8 壓測(cè)與預(yù)案 / 145
8.1 系統(tǒng)壓測(cè) / 145
8.1.1 線下壓測(cè) / 146
8.1.2 線上壓測(cè) / 146
8.2 系統(tǒng)優(yōu)化和容災(zāi) / 147
8.3 應(yīng)急預(yù)案 / 148
第3部分 高并發(fā) / 153
9 應(yīng)用級(jí)緩存 / 154
9.1 緩存簡(jiǎn)介 / 154
9.2 緩存命中率 / 155
9.3 緩存回收策略 / 155
9.3.1 基于空間 / 155
9.3.2 基于容量 / 155
9.3.3 基于時(shí)間 / 155
9.3.4 基于Java對(duì)象引用 / 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 多級(jí)緩存 / 166
9.5 應(yīng)用級(jí)緩存示例 / 167
9.5.1 多級(jí)緩存API封裝 / 167
9.5.2 NULL Cache / 170
9.5.3 強(qiáng)制獲取最新數(shù)據(jù) / 170
9.5.4 失敗統(tǒng)計(jì) / 171
9.5.5 延遲報(bào)警 / 171
9.6 緩存使用模式實(shí)踐 / 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 性能測(cè)試 / 181
9.8 參考資料 / 182
10 HTTP緩存 / 183
10.1 簡(jiǎn)介 / 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 清除無(wú)效緩存 / 195
10.3.3 查找緩存 / 196
10.3.4 緩存未命中 / 198
10.3.5 緩存命中 / 198
10.3.6 緩存內(nèi)容陳舊需重新驗(yàn)證 / 202
10.3.7 緩存內(nèi)容無(wú)效需重新執(zhí)行請(qǐng)求 / 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)驗(yàn) / 216
參考資料 / 217
11 多級(jí)緩存 / 218
11.1 多級(jí)緩存介紹 / 218
11.2 如何緩存數(shù)據(jù) / 220
11.2.1 過(guò)期與不過(guò)期 / 220
11.2.2 維度化緩存與增量緩存 / 221
11.2.3 大Value緩存 / 221
11.2.4 熱點(diǎn)緩存 / 221
11.3 分布式緩存與應(yīng)用負(fù)載均衡 / 222
11.3.1 緩存分布式 / 222
11.3.2 應(yīng)用負(fù)載均衡 / 222
11.4 熱點(diǎn)數(shù)據(jù)與更新緩存 / 223
11.4.1 單機(jī)全量緩存+主從 / 223
11.4.2 分布式緩存+應(yīng)用本地?zé)狳c(diǎn) / 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ù)庫(kù)連接池 / 227
12.1.1 DBCP連接池配置 / 228
12.1.2 DBCP配置建議 / 233
12.1.3 數(shù)據(jù)庫(kù)驅(qū)動(dòng)超時(shí)實(shí)現(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 問(wèn)題示例 / 243
12.3 線程池 / 244
12.3.1 Java線程池 / 245
12.3.2 Tomcat線程池配置 / 248
13 異步并發(fā)實(shí)戰(zhàn) / 250
13.1 同步阻塞調(diào)用 / 251
13.2 異步Future / 252
13.3 異步Callback / 253
13.4 異步編排CompletableFuture / 254
13.5 異步Web服務(wù)實(shí)現(xiàn) / 257
13.6 請(qǐng)求緩存 / 259
13.7 請(qǐng)求合并 / 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ù)庫(kù)拆分 / 271
14.5 數(shù)據(jù)庫(kù)分庫(kù)分表示例 / 275
14.5.1 應(yīng)用層還是中間件層 / 275
14.5.2 分庫(kù)分表策略 / 277
14.5.3 使用sharding-jdbc分庫(kù)分表 / 279
14.5.4 sharding-jdbc分庫(kù)分表配置 / 279
14.5.5 使用sharding-jdbc讀寫(xiě)分離 / 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 簡(jiǎn)單任務(wù) / 285
14.7.2 分布式任務(wù) / 287
14.7.3 Elastic-Job簡(jiǎn)介 / 287
14.7.4 Elastic-Job-Lite功能與架構(gòu) / 287
14.7.5 Elastic-Job-Lite示例 / 288
15 隊(duì)列術(shù) / 295
15.1 應(yīng)用場(chǎng)景 / 295
15.2 緩沖隊(duì)列 / 296
15.3 任務(wù)隊(duì)列 / 297
15.4 消息隊(duì)列 / 297
15.5 請(qǐng)求隊(duì)列 / 299
15.6 數(shù)據(jù)總線隊(duì)列 / 300
15.7 混合隊(duì)列 / 301
15.8 其他隊(duì)列 / 302
15.9 Disruptor+Redis隊(duì)列 / 303
15.10 下單系統(tǒng)水平可擴(kuò)展架構(gòu) / 311
第4部分 案例 / 323
16 構(gòu)建需求響應(yīng)式億級(jí)商品詳情頁(yè) / 324
16.1 商品詳情頁(yè)是什么 / 324
16.2 商品詳情頁(yè)前端結(jié)構(gòu) / 325
16.3 我們的性能數(shù)據(jù) / 327
16.4 單品頁(yè)流量特點(diǎn) / 327
16.5 單品頁(yè)技術(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 詳情頁(yè)架構(gòu)設(shè)計(jì)原則 / 332
16.7 遇到的一些坑和問(wèn)題 / 339
16.8 其他 / 347
17 京東商品詳情頁(yè)服務(wù)閉環(huán)實(shí)踐 / 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開(kāi)發(fā)高性能Web應(yīng)用 / 360
18.1 OpenResty簡(jiǎn)介 / 361
18.1.1 Nginx優(yōu)點(diǎn) / 361
18.1.2 Lua的優(yōu)點(diǎn) / 361
18.1.3 什么是ngx_lua / 361
18.1.4 開(kāi)發(fā)環(huán)境 / 362
18.1.5 OpenResty生態(tài) / 362
18.1.6 場(chǎng)景 / 362
18.2 基于OpenResty的常用架構(gòu)模式 / 363
18.3 如何使用OpenResty開(kāi)發(fā)Web應(yīng)用 / 371
18.4 基于OpenResty的常用功能總結(jié) / 375
18.5 一些問(wèn)題 / 376
19 應(yīng)用數(shù)據(jù)靜態(tài)化架構(gòu)高性能單頁(yè)Web應(yīng)用 / 377
19.1 整體架構(gòu) / 378
19.2 數(shù)據(jù)和模板動(dòng)態(tài)化 / 381
19.3 多版本機(jī)制 / 381
19.4 異常問(wèn)題 / 382
20 使用OpenResty開(kāi)發(fā)Web服務(wù) / 383
20.1 架構(gòu) / 383
20.2 單DB架構(gòu) / 384
20.3 實(shí)現(xiàn) / 387
21 使用OpenResty開(kāi)發(fā)商品詳情頁(yè) / 405
21.1 技術(shù)選型 / 407
21.2 核心流程 / 408
21.3 項(xiàng)目搭建 / 408
21.4 數(shù)據(jù)存儲(chǔ)實(shí)現(xiàn) / 410
21.5 動(dòng)態(tài)服務(wù)實(shí)現(xiàn) / 422
21.6 前端展示實(shí)現(xiàn) / 430
使用說(shuō)明
1、下載并解壓,得出pdf文件
2、如果在電腦上打不開(kāi)pdf文件,別著急,那么您需要先在電腦上下載一個(gè)pdf閱讀軟件
3、有pdf閱讀文件直接雙擊即可打開(kāi)pdf文件
- 下載地址
- 本地下載通道:
- 浙江電信下載
- 北京聯(lián)通下載
- 江蘇電信下載
- 廣東電信下載
有問(wèn)題? 點(diǎn)此報(bào)錯(cuò)
發(fā)表評(píng)論
0條評(píng)論軟件排行榜
- 102j331地溝及蓋板圖集
- 212j201平屋面建筑構(gòu)造圖集 pdf電子版
- 3機(jī)械設(shè)計(jì)手冊(cè)軟件版 v3.0破解版 附安裝教程
- 4欄桿圖集15j403-1 pdf電子版
- 5建筑電氣工程施工質(zhì)量驗(yàn)收規(guī)范gb50303-2015 pdf電子版
- 6421頁(yè)pdf完整版
- 7高效能人士的七個(gè)習(xí)慣(30周年紀(jì)念版) pdf+epub高清版
- 816j914-1公用建筑衛(wèi)生間圖集 pdf電子版
- 905s502室外給水管道附屬構(gòu)筑物圖集
- 10工程地質(zhì)手冊(cè)第五版pdf高清電子版
熱門推薦
網(wǎng)易新聞電腦版 v113.987.37M / 簡(jiǎn)體中文
得間免費(fèi)小說(shuō)電腦版 v5.3.7.196.85M / 簡(jiǎn)體中文
有柿電腦版 v11.8.9121.22M / 簡(jiǎn)體中文
網(wǎng)易云閱讀電腦版 v6.7.226.41M / 簡(jiǎn)體中文
京東讀書(shū)電腦版 v1.13.4官方版2.13M / 簡(jiǎn)體中文
數(shù)據(jù)挖掘?qū)д?官方版61.61M / 簡(jiǎn)體中文
未公開(kāi)的Oracle數(shù)據(jù)庫(kù)秘密 迪貝斯pdf掃描版34.69M / 簡(jiǎn)體中文
PHP語(yǔ)言精粹電子書(shū) pdf掃描版25.72M / 簡(jiǎn)體中文
docker入門實(shí)戰(zhàn) pdf完整版1.38M / 簡(jiǎn)體中文
Scala程序設(shè)計(jì)第二版 pdf高清完整版15.83M / 簡(jiǎn)體中文