高並發系統:設計原理與實踐

唐揚

  • 出版商: 人民郵電
  • 出版日期: 2025-04-01
  • 定價: $419
  • 售價: 8.5$356
  • 語言: 簡體中文
  • 頁數: 188
  • ISBN: 7115662053
  • ISBN-13: 9787115662057
  • 下單後立即進貨 (約4週~6週)

  • 高並發系統:設計原理與實踐-preview-1
  • 高並發系統:設計原理與實踐-preview-2
高並發系統:設計原理與實踐-preview-1

相關主題

商品描述

  本書主要探討高並發場景下系統設計的原理和實踐案例,幫助讀者系統、快速地理解高並發系統的設計原理與相關實踐,以及掌握解決高並發場景下可能遇到的各種問題的方法。

  本書共6章。第1章介紹高並發系統的發展歷史、設計難點和基本設計原則,以及度量指標;第2~4章介紹有助於提升高並發系統可用性的3種方法—系統容錯、冗餘和分片;第5章從提升高並發系統性能的角度講解並發與異步的原理和實踐技巧;第6章從系統運維和團隊流程管理兩個角度講解如何提升團隊對高並發系統的把控性,進而提升系統的可用性。

  本書既適合軟件開發人員閱讀,也適合對高並發系統設計感興趣的科研人員和電腦相關專業的學生閱讀,還可用作中小型企業的內訓教材。

作者簡介

唐揚,因特網資深技術專家,擁有超過 15 年的開發和架構經驗。曾在美圖、網易、新浪等大型因特網公司負責過多個大型產品的開發與維護工作,帶領不同團隊支撐過多個日均活躍用戶數超千萬的 App。在“極客時間”開設的“高並發系統設計 40 問”專欄,憑借專業且實用的內容,吸引了超 5 萬名學習者參與,在業內引發廣泛關註與學習熱潮。

目錄大綱

第 1章 高並發系統概述 1

1.1 高並發系統的發展歷史 3

1.2 高並發系統的設計難點 3

1.2.1 系統的高可用 4

1.2.2 訪問的高性能 6

1.3 高並發系統的基本設計原則 8

1.3.1 面向失敗編程 9

1.3.2 可擴展 11

1.3.3 緩存 12

1.3.4 並發 15

1.4 高並發系統的度量指標 17

1.4.1 可用性的度量 17

1.4.2 性能的度量 19

1.5 小結 20

第 2章 系統容錯 21

2.1 重試 23

2.1.1 重試策略 25

2.1.2 重試風暴的應對方式 28

2.1.3 冪等性的保證方法 30

2.2 熔斷 32

2.2.1 熔斷的作用 34

2.2.2 斷路器模式與應用 35

2.2.3 彈性熔斷算法 39

2.2.4 Sentinel的熔斷機制實現 42

2.3 降級 47

2.3.1 降級的典型應用場景和處理方式 48

2.3.2 配置中心的實現 49

2.3.3 降級預案 51

2.4 超時 52

2.4.1 超時的重要性 52

2.4.2 設置任務的超時時間 53

2.5 限流 55

2.5.1 限流的4種算法 55

2.5.2 自適應限流算法 59

2.6 隔離 62

2.6.1 動靜隔離 63

2.6.2 物理隔離 68

2.6.3 線程隔離 69

2.6.4 快慢隔離 70

2.6.5 熱點數據隔離 71

2.7 小結 71

第3章 冗餘 73

3.1 什麽是冗餘 75

3.2 存儲冗餘 75

3.2.1 MySQL冗餘的實現方式 77

3.2.2 Kafka冗餘的實現方式 79

3.3 緩存冗餘 81

3.3.1 Memcached冗餘的實現方式 82

3.3.2 極端讀流量下緩存冗餘的實現方式 84

3.3.3 極端寫流量下緩存冗餘的應對方法 87

3.3.4 緩存數據一致性保證 89

3.3.5 緩存不命中的應對方式 95

3.4 CDN冗餘 98

3.4.1 上傳系統之殤 99

3.4.2 CDN冗餘和調度 101

3.4.3 視頻防盜鏈的實現方式 105

3.5 服務器冗餘 107

3.5.1 常見的負載均衡算法 108

3.5.2 故障節點的探測 112

3.5.3 流量爬坡 114

3.6 機房冗餘 115

3.6.1 機房冗餘的實現方式 115

3.6.2 同城雙活 117

3.6.3 兩地三中心 119

3.6.4 異地多活 119

3.7 小結 121

第4章 分片 123

4.1 數據庫分片 125

4.1.1 常見的數據庫分片方式 125

4.1.2 多字段查詢 128

4.1.3 數據遷移 129

4.1.4 ID的生成方式 130

4.1.5 分佈式系統的數據一致性 134

4.2 緩存分片 139

4.2.1 緩存的分片方式 139

4.2.2 無底洞效應 140

4.3 小結 142

第5章 並發與異步 143

5.1 並發與異步的區別 145

5.2 並發編程的實現方式:池化技術 145

5.2.1 線程池的原理與使用技巧 146

5.2.2 數據庫連接池的原理 150

5.3 並發編程的安全性與性能 152

5.3.1 並發編程的安全性 152

5.3.2 並發編程的性能 155

5.4 消息隊列 156

5.4.1 消息隊列的作用 157

5.4.2 保證消息不丟失 157

5.4.3 保證消息不重復 158

5.4.4 消息延遲的危害 159

5.4.5 消息延遲的優化 160

5.5 小結 162

第6章 高並發系統的運維 163

6.1 全鏈路監控 165

6.1.1 全鏈路監控的技術體系 165

6.1.2 分佈式追蹤系統的構建 168

6.1.3 用戶監控系統 171

6.2 報警系統 173

6.2.1 報警的原則 174

6.2.2 常見的報警收斂方法 175

6.3 全鏈路壓測 175

6.3.1 全鏈路壓測的常見誤區 176

6.3.2 流量染色 177

6.3.3 流量處理方式 178

6.3.4 影子庫表 178

6.3.5 全鏈路壓測系統的架構 179

6.4 故障演練 180

6.4.1 故障演練的原則 181

6.4.2 故障演練的標準執行流程 181

6.4.3 故障演練工具 182

6.5 穩定性保障流程 183

6.5.1 控制變更流程 183

6.5.2 整理SOP文檔 185

6.5.3 重視故障復盤機制 185

6.5.4 做好日常系統梳理 186

6.6 小結 187