開啟主選單

求真百科

高並發架構實戰

來自 孔夫子網 的圖片

高並發架構實戰》,副標題:從需求分析到系統設計,李智慧 著 李瀟然 著,出版社: 機械工業出版社。

截至2022年,機械工業出版社年出版新書近2700種,年引進和輸出版權總量近800種,產品橫跨科技出版、教育出版、大眾出版三大板塊,覆蓋機械、電工電子、汽車、建築、計算機、經管、心理[1]、生活、科普、藝術設計、文創等十多個專業領域,以及高等教育[2]職業教育、技能教育等不同教育層次。

目錄

內容簡介

本書包含 20 余個高並發系統案例,每個案例看似相互獨立,實則相輔相成。根據高並發系統的點,高並發與高性能、高可用的關係,本書分為 6 篇。基礎篇,概要介紹專欄所用的軟件建模方法、設計文檔寫法、高並發架構設計方法。高並發系統的海量數據處理架構篇,討論海量數據如何存儲、如何傳輸、如何進行並發控制。高並發系統的高性能架構篇,討論在高並發場景下,如何保證系統的響應性能。高並發系統的高可用架構篇,通過、百科、限流器等架構案例分析,尋求保障高並發系統高可用的方案。安全系統架構篇,通過Web防火牆、加解密平台、區塊鏈設計等,討論面對惡意請求、敏感數據泄露的風險,如何保證系統足夠安全可靠。網約車架構專題篇,深入討論一個網約車架構。

目錄

目 錄

前言

第1章 系統架構藍圖:軟件建模與文檔1

1.1 軟件建模2

1.2 軟件設計方法3

1.2.1 類圖3

1.2.2 時序圖4

1.2.3 組件圖5

1.2.4 部署圖6

1.2.5 用例圖7

1.2.6 狀態圖8

1.2.7 活動圖8

1.3 軟件設計文檔10

1.4 小結12

第2章 面對高並發如何對症下藥13

2.1 高並發系統架構的方法論14

2.2 高並發系統架構的主要技術15

2.2.1 分布式應用15

2.2.2 分布式緩存17

2.2.3 分布式消息隊列17

2.2.4 分布式關係數據庫18

2.2.5 分布式微服務19

2.3 系統並發指標20

2.4 小結21

第3章 百億短URL生成器設計23

3.1 需求分析24

3.1.1 短URL生成器的用例圖25

3.1.2 性能指標估算25

3.1.3 非功能性需求26

3.2 概要設計27

3.2.1 單向散列函數生成短URL27

3.2.2 自增長短URL28

3.2.3 預生成短URL28

3.2.4 整體部署模型28

3.3 詳細設計32

3.3.1 重定向響應碼32

3.3.2 短URL預生成文件及預加載33

3.3.3 用戶自定義短URL34

3.3.4 URL Base64編碼35

3.4 小結36

第4章 千億級網頁爬蟲設計38

4.1 需求分析39

4.1.1 性能指標估算39

4.1.2 非功能性需求39

4.2 概要設計41

4.2.1 爬蟲處理流程42

4.2.2 系統部署模型44

4.2.3 分布式爬蟲45

4.3 詳細設計46

4.3.1 URL調度器算法46

4.3.2 去重算法50

4.3.3 高可用設計50

4.4 小結51

第5章 萬億GB網盤系統設計53

5.1 需求分析54

5.1.1 負載指標估算55

5.1.2 非功能性需求55

5.2 概要設計56

5.3 詳細設計60

5.3.1 元數據庫設計60

5.3.2 限速61

5.3.3 秒傳61

5.4 小結63

第6章 支撐3000萬用戶同時在線的短視頻系統設計64

6.1 需求分析65

6.2 概要設計66

6.3 詳細設計70

6.3.1 視頻存儲系統設計70

6.3.2 性能優化與CDN設計72

6.3.3 縮略圖生成與推薦設計73

6.4 小結76

第7章 高可用分布式存儲系統設計77

7.1 需求分析78

7.2 概要設計79

7.3 詳細設計80

7.3.1 路由算法80

7.3.2 高可用設計83

7.3.3 集群伸縮設計86

7.4 小結87

第8章 應對萬人搶購的秒殺系統設計89

8.1 需求分析90

8.1.1 獨立開發部署秒殺系統90

8.1.2 防止跳過秒殺頁面直接下單90

8.2 概要設計90

8.2.1 獨立秒殺系統頁面設計91

8.2.2 秒殺系統的流量控制92

8.2.3 秒殺活動啟動機制設計95

8.2.4 秒殺系統部署模型96

8.3 小結98

第9章 基於LBS的交友系統設計99

9.1 需求分析100

9.2 概要設計101

9.3 詳細設計102

9.3.1 SQL鄰近算法103

9.3.2 地理網格鄰近算法104

9.3.3 動態網格算法105

9.3.4 GeoHash算法107

9.3.5 Liao的終算法選擇111

9.4 小結112

第10章 全網搜索引擎設計113

10.1 概要設計114

10.2 詳細設計116

10.2.1 索引116

10.2.2 PageRank排序算法120

10.3 小結123

第11章 反應式編程框架設計124

11.1 需求分析125

11.2 概要設計127

11.3 詳細設計129

11.3.1 服務註冊131

11.3.2 流程編排132

11.3.3 流式微服務設計133

11.4 小結136

第12章 支撐億級用戶的系統設計138

12.1 需求分析139

12.1.1 功能需求139

12.1.2 性能指標估算140

12.2 概要設計141

12.3 詳細設計144

12.3.1 發表/訂閱問題144

12.3.2 緩存使用策略146

12.3.3 數據庫分片策略148

12.4 小結149

第13章 百科應用系統設計150

13.1 概要設計151

13.1.1 整體架構設計151

13.1.2 多數據中心架構153

13.2 詳細設計156

13.2.1 前端性能優化156

13.2.2 服務端性能優化157

13.2.3 存儲端性能優化157

13.3 小結158

第14章 高可用的限流器設計160

14.1 需求分析161

14.2 概要設計161

14.2.1 限流模式設計162

14.2.2 高可用設計163

14.3 詳細設計163

14.3.1 配置文件設計164

14.3.2 固定窗口限流算法165

14.3.3 滑動窗口限流算法167

14.3.4 漏桶限流算法168

14.3.5 令牌桶限流算法171

14.4 小結172

第15章 安全可靠的Web應用防火牆設計174

15.1 需求分析175

15.2 概要設計176

15.3 詳細設計179

15.3.1 XSS攻擊179

15.3.2 SQL注入攻擊182

15.3.3 CSRF攻擊184

15.3.4 注釋與異常信息泄露185

15.4 小結186

第16章 敏感數據的加解密服務平台187

16.1

參考文獻