首 頁
手機(jī)版

億級流量網(wǎng)站架構(gòu)核心技術(shù) 張開濤pdf掃描版

億級流量網(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文件

收起介紹展開介紹
  • 下載地址
億級流量網(wǎng)站架構(gòu)核心技術(shù) 張開濤pdf掃描版

有問題? 點此報錯

發(fā)表評論

0條評論