高並發系統:設計原理與實踐
唐揚
- 出版商: 人民郵電
- 出版日期: 2025-04-01
- 定價: $419
- 售價: 7.9 折 $331 (限時優惠至 2025-11-07)
- 語言: 簡體中文
- 頁數: 188
- ISBN: 7115662053
- ISBN-13: 9787115662057
- 
    相關分類:
    
      Design Pattern 
 
立即出貨
買這商品的人也買了...
- 
                
                   Kent Beck 的實作模式 (Implementation Patterns) Kent Beck 的實作模式 (Implementation Patterns)$320$272
- 
                
                   Specification by Example 中文版:團隊如何交付正確的軟體 (Specification by Example: How Successful Teams Deliver the Right Software) Specification by Example 中文版:團隊如何交付正確的軟體 (Specification by Example: How Successful Teams Deliver the Right Software)$420$357
- 
                
                   $480深入淺出 MFC, 2/e $480深入淺出 MFC, 2/e
- 
                
                   單元測試的藝術, 2/e (The Art of Unit Testing: with examples in C#, 2/e) 單元測試的藝術, 2/e (The Art of Unit Testing: with examples in C#, 2/e)$650$507
- 
                
                   重構|改善既有程式的設計, 2/e (繁中平裝版)(Refactoring: Improving The Design of Existing Code, 2/e) 重構|改善既有程式的設計, 2/e (繁中平裝版)(Refactoring: Improving The Design of Existing Code, 2/e)$800$632
- 
                
                   $517MySQL 是怎樣運行的 -- 從根兒上理解 MySQL $517MySQL 是怎樣運行的 -- 從根兒上理解 MySQL
- 
                
                   MySQL 是怎樣使用的 快速入門 MySQL MySQL 是怎樣使用的 快速入門 MySQL$359$341
- 
                
                   電商存儲系統實戰 : 架構設計與海量數據處理 電商存儲系統實戰 : 架構設計與海量數據處理$534$507
- 
                
                   $1,680Software Mistakes and Tradeoffs: How to Make Good Programming Decisions (Paperback) $1,680Software Mistakes and Tradeoffs: How to Make Good Programming Decisions (Paperback)
- 
                
                   軟體架構:困難部分 (Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures) 軟體架構:困難部分 (Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures)$780$616
- 
                
                   $474深度探索 Go語言 — 對象模型與 runtime 的原理、特性及應用 $474深度探索 Go語言 — 對象模型與 runtime 的原理、特性及應用
- 
                
                   高並發系統實戰派:集群、Redis 緩存、海量存儲、Elasticsearch、RocketMQ、微服務、持續集成等 高並發系統實戰派:集群、Redis 緩存、海量存儲、Elasticsearch、RocketMQ、微服務、持續集成等$654$621
- 
                
                   大話 AWS 雲端架構:雲端應用架構圖解輕鬆學, 3/e 大話 AWS 雲端架構:雲端應用架構圖解輕鬆學, 3/e$650$507
- 
                
                   領域驅動設計學習手冊 (Learning Domain-Driven Design) 領域驅動設計學習手冊 (Learning Domain-Driven Design)$580$458
- 
                
                  ![軟體測試實務 : 業界成功案例與高效實踐 [ I ]-cover](https://cf-assets2.tenlong.com.tw/products/images/000/190/416/medium/9786263334854_bc.jpg?1684829887) 軟體測試實務 : 業界成功案例與高效實踐 [ I ] 軟體測試實務 : 業界成功案例與高效實踐 [ I ]$650$507
- 
                
                  ![軟體測試實務 : 業界成功案例與高效實踐 [ II ]-cover](https://cf-assets2.tenlong.com.tw/products/images/000/190/417/medium/9786263334861_bc.jpg?1684830069) 軟體測試實務 : 業界成功案例與高效實踐 [ II ] 軟體測試實務 : 業界成功案例與高效實踐 [ II ]$600$468
- 
                
                   聚沙成塔:Go語言構建高性能、分佈式爬蟲項目 聚沙成塔:Go語言構建高性能、分佈式爬蟲項目$954$906
- 
                
                   Patterns of Distributed Systems (Paperback) Patterns of Distributed Systems (Paperback)$1,870$1,833
- 
                
                   跟 NVIDIA 學深度學習!從基本神經網路到 ......、GPT、BERT...,紮穩機器視覺與大型語言模型 (LLM) 的建模基礎 跟 NVIDIA 學深度學習!從基本神經網路到 ......、GPT、BERT...,紮穩機器視覺與大型語言模型 (LLM) 的建模基礎$880$748
- 
                
                   碼農翻身2 碼農翻身2$708$673
- 
                
                   分佈式系統實戰派 — 從簡單系統到復雜系統 分佈式系統實戰派 — 從簡單系統到復雜系統$648$616
- 
                
                   Coding Interview Patterns: Nail Your Next Coding Interview (Paperback) Coding Interview Patterns: Nail Your Next Coding Interview (Paperback)$1,800$1,764
- 
                
                   Java 應用開發關鍵技術與面試技巧 Java 應用開發關鍵技術與面試技巧$894$849
- 
                
                   大模型智能推薦系統:技術解析與開發實踐 大模型智能推薦系統:技術解析與開發實踐$774$735
- 
                
                   軟體設計耦合的平衡之道:建構模組化軟體系統的通用設計原則 (Balancing Coupling in Software Design: Successful Software Architecture in General and Distributed Systems) 軟體設計耦合的平衡之道:建構模組化軟體系統的通用設計原則 (Balancing Coupling in Software Design: Successful Software Architecture in General and Distributed Systems)$650$507
商品描述
本書主要探討高並發場景下系統設計的原理和實踐案例,幫助讀者系統、快速地理解高並發系統的設計原理與相關實踐,以及掌握解決高並發場景下可能遇到的各種問題的方法。
本書共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



 
     
     
    
 
     
     
     
    
 
     
    
