注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)網(wǎng)絡(luò)與數(shù)據(jù)通信億級流量網(wǎng)站架構(gòu)核心技術(shù):跟開濤學(xué)搭建高可用高并發(fā)系統(tǒng)

億級流量網(wǎng)站架構(gòu)核心技術(shù):跟開濤學(xué)搭建高可用高并發(fā)系統(tǒng)

億級流量網(wǎng)站架構(gòu)核心技術(shù):跟開濤學(xué)搭建高可用高并發(fā)系統(tǒng)

定 價:¥99.00

作 者: 張開濤
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: 計算機?網(wǎng)絡(luò) 網(wǎng)絡(luò)與數(shù)據(jù)通信

ISBN: 9787121309540 出版時間: 2017-04-01 包裝:
開本: 16開 頁數(shù): 477 字?jǐn)?shù):  

內(nèi)容簡介

  《億級流量網(wǎng)站架構(gòu)核心技術(shù)》一書總結(jié)并梳理了億級流量網(wǎng)站高可用和高并發(fā)原則,通過實例詳細介紹了如何落地這些原則。本書分為四部分:概述、高可用原則、高并發(fā)原則、案例實戰(zhàn)。從負載均衡、限流、降級、隔離、超時與重試、回滾機制、壓測與預(yù)案、緩存、池化、異步化、擴容、隊列等多方面詳細介紹了億級流量網(wǎng)站的架構(gòu)核心技術(shù),讓讀者看后能快速運用到實踐項目中。不管是軟件開發(fā)人員,還是運維人員,通過閱讀《億級流量網(wǎng)站架構(gòu)核心技術(shù)》都能系統(tǒng)地學(xué)習(xí)實現(xiàn)億級流量網(wǎng)站的架構(gòu)核心技術(shù),并收獲解決系統(tǒng)問題的思路和方法。

作者簡介

  張開濤,現(xiàn)就職于京東,“開濤的博客”公眾號作者。寫過《跟我學(xué)Spring》《跟我學(xué)Spring MVC》《跟我學(xué)Shiro》《跟我學(xué)Nginx+Lua開發(fā)》等系列教程,博客現(xiàn)有1000多萬訪問量。

圖書目錄

第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)機 / 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  負載均衡與反向代理 / 18
2.1  upstream配置 / 20
2.2  負載均衡算法 / 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)負載均衡 / 30
2.8.1  Consul+Consul-template / 31
2.8.2  Consul+OpenResty / 35
2.9  Nginx四層負載均衡 / 39
2.9.1  靜態(tài)負載均衡 / 39
2.9.2  動態(tài)負載均衡 / 41
參考資料 / 42
3  隔離術(shù) / 43
3.1  線程隔離 / 43
3.2  進程隔離 / 45
3.3  集群隔離 / 45
3.4  機房隔離 / 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  熔斷機制實現(xiàn) / 108
5.9.2  配置示例 / 112
5.9.3  采樣統(tǒng)計 / 113
6  超時與重試機制 / 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  回滾機制 / 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  強制獲取最新數(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)用負載均衡 / 222
11.3.1  緩存分布式 / 222
11.3.2  應(yīng)用負載均衡 / 222
11.4  熱點數(shù)據(jù)與更新緩存 / 223
11.4.1  單機全量緩存+主從 / 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  如何擴容 / 266
14.1  單體應(yīng)用垂直擴容 / 267
14.2  單體應(yīng)用水平擴容 / 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)擴容 / 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)水平可擴展架構(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  多版本機制 / 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

本目錄推薦

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