分佈式應用系統架構設計與實踐
謝文輝
買這商品的人也買了...
-
$207測試架構師修煉之道 : 從測試工程師到測試架構師 -
OAuth 2 實戰 (OAuth 2 in Action)$534$507 -
程式設計師從零開始邁向架構師之路$650$514 -
$505阿裡雲運維架構實踐秘籍 -
$454Go語言高併發與微服務實戰 -
中臺架構與實現:基於 DDD 和微服務$534$507 -
EDA 設計流程整合 ─ 如何建構一台功能完整的 EDA 伺服器$500$490 -
力抗暗黑:Azure 資安天使的逆襲(iT邦幫忙鐵人賽系列書)$500$390 -
$458墨守之道 Web 服務安全架構與實踐 -
$517CentOS 8 系統管理與運維實戰 -
超圖解伺服器的架構與運用:硬體架構x軟體運用,輕鬆理解數位時代的必備知識$400$316 -
電商存儲系統實戰 : 架構設計與海量數據處理$534$507 -
架構基礎:從需求到架構$534$507 -
$374Web 安全 360度全面防護 -
$539Flutter 內核源碼剖析 -
$407區塊鏈原理、技術及應用 -
跨平台 App + Web API 實戰:使用 Flutter 和 ASP.NET Core 開發尋寶遊戲$420$277 -
Martin Fowler 的企業級軟體架構模式:軟體重構教父傳授 51個模式,活用設計思考與架構決策 (Patterns of Enterprise Application Architecture)$800$624 -
讓 AI 安全上工 -- 新觀念隱私保護機器學習$700$553 -
接口測試方法論$479$455 -
JS 絕對版本相容性 - Webpack + Babel 完美結合 開發實戰$620$490 -
ASP.NET Core 工程師不可不知的 10大安全性漏洞與防駭方法$690$538 -
AI 開發的機器學習系統設計模式$620$490 -
Test-Driven Development 學習手冊$580$458 -
Web API 設計原則|API 與微服務傳遞價值之道 (Principles of Web API Design: Delivering Value with APIs and Microservices)$520$411
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
75折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$375 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
隨著因特網技術的發展,分佈式應用系統對具備高性能、高可用性、可擴展性和可維護性的架構的依賴度越來越高。本書以理論與實踐相結合的方式,對分佈式應用系統的架構設計進行系統的闡述。本書分為3個部分,第一部分是分佈式系統架構概述,介紹一些分佈式系統架構下常見的基礎概念和架構設計的目標;第二部分是核心理論及技術,介紹分佈式應用系統下常見的技術中間件機制和使用場景,著重介紹分佈式應用系統在高性能、高可用性、可擴展性和可維護性等方面常見的優化技術;第三部分是架構實踐案例,梳理幾種常見的大型分佈式應用系統的架構,並結合具體問題進行分析,使讀者能夠真正理解設計分佈式應用系統架構所面臨的問題及解決問題的思路。
本書主要面向初/中/高級程序員和架構師,但書中的部分內容也適合產品經理、項目經理閱讀。此外,本書內容由淺入深且案例豐富,也適合作為培訓教材。
作者簡介
謝文輝,阿裡巴巴高級技術專家,曾在華為、魅族、深信服擔任架構師及技術經理,具有10年以上的系統開發及架構設計經驗。他目前在阿裡巴巴東南亞電商平臺Lazada負責業務風控架構相關工作。他主導過多個雙活機房的設計和構建工作,也主導過多個日均活躍用戶數達千萬級的應用系統的架構設計、改造及優化工作,對分佈式應用系統的高性能、高可用性和高並發處理有較為豐富的經驗。他的個人興趣在於大數據存儲處理、大規模系統的高性能、高可用性及多機房架構的設計和構建。
目錄大綱
第 一部分 分佈式系統架構概述
第 1章 架構的基礎概念 3
1.1 架構的幾個概念 3
1.1.1 系統與子系統 4
1.1.2 模塊與組件 4
1.1.3 組件與框架 4
1.2 架構設計的目標 5
1.2.1 高性能 5
1.2.2 高可用性 6
1.2.3 可擴展性 7
1.2.4 可維護性 8
1.3 小結 9
第 2章 架構的演進 10
2.1 單體架構 10
2.2 分層架構 11
2.3 面向服務架構 12
2.4 微服務架構體系 14
2.4.1 微服務架構 14
2.4.2 服務網格架構 16
2.4.3 單元化架構 17
2.5 小結 18
第二部分 核心理論及技術
第3章 常見的基礎組件 21
3.1 數據緩存 21
3.1.1 Redis高可用實現方案 22
3.1.2 Redis集群實現方案 24
3.1.3 Redis跨機房數據同步方案 29
3.2 數據分發 34
3.2.1 Kafka的分區機制及副本機制 34
3.2.2 Kafka高吞吐量實現方案 40
3.2.3 Kafka跨機房雙活方案 44
3.3 數據存儲 47
3.3.1 關係數據庫MySQL 48
3.3.2 列式存儲數據庫HBase 49
3.3.3 文檔型存儲數據庫MongoDB 51
3.3.4 圖數據庫Neo4j 54
3.3.5 內容搜索數據庫Elasticsearch 57
3.4 服務遠程調用 59
3.4.1 RPC架構及原理 59
3.4.2 Dubbo架構及原理 60
3.4.3 gRPC架構及原理 62
3.5 小結 63
第4章 高性能架構 64
4.1 基礎概念 64
4.1.1 性能指標 64
4.1.2 利特爾法則 65
4.1.3 系統優化分析 65
4.1.4 系統指標選擇 66
4.2 客戶端及網絡接入 66
4.2.1 瀏覽器訪問優化 66
4.2.2 CDN緩存 68
4.2.3 反向代理 69
4.3 數據存儲 71
4.3.1 數據庫讀寫分離 71
4.3.2 數據庫分庫/分錶 82
4.3.3 數據庫如何實現平滑擴容 86
4.3.4 NoSQL綜合解決方案 90
4.4 數據緩存 95
4.4.1 適合做緩存的場景 95
4.4.2 緩存穿透及解決方案 95
4.4.3 緩存雪崩及解決方案 97
4.4.4 緩存擊穿及解決方案 97
4.4.5 如何保障緩存與數據庫數據的一致性 100
4.5 業務邏輯 103
4.5.1 異步處理 103
4.5.2 消息隊列 106
4.6 架構模式與負載均衡 106
4.6.1 多進程並發模式與多線程並發模式 107
4.6.2 阻塞與非阻塞I/O模式 107
4.6.3 負載均衡架構 109
4.7 小結 110
第5章 高可用架構 111
5.1 分佈式系統的幾個理論 111
5.1.1 CAP理論 111
5.1.2 BASE理論 114
5.2 數據存儲層 116
5.2.1 雙機架構 116
5.2.2 數據多副本 118
5.3 業務邏輯層 122
5.3.1 有狀態和無狀態 122
5.3.2 服務治理 124
5.3.3 服務降級 125
5.3.4 服務限流 130
5.4 多機房架構 133
5.4.1 多機房的幾種架構 133
5.4.2 多機房多活架構 138
5.4.3 多機房流量分發 141
5.5 小結 143
第6章 可擴展架構 144
6.1 可擴展的幾個維度 145
6.1.1 橫向擴展 145
6.1.2 垂直擴展 146
6.1.3 縱深擴展 147
6.2 可擴展架構的實現 148
6.2.1 反向代理層 148
6.2.2 接入層 149
6.2.3 業務邏輯層 150
6.2.4 數據緩存層 152
6.2.5 數據存儲層 152
6.3 幾種典型可擴展架構 153
6.3.1 分層架構 153
6.3.2 服務化架構 153
6.3.3 單元化架構 154
6.4 小結 155
第7章 可維護架構 156
7.1 系統監控工具 156
7.1.1 Zabbix監控系統介紹 156
7.1.2 Prometheus介紹 158
7.1.3 中間件監控系統介紹 159
7.2 業務日誌的監控及分析 162
7.2.1 日誌採集及清洗 163
7.2.2 日誌的傳輸及存儲 165
7.2.3 日誌查詢及可視化 166
7.3 業務數據的安全監控及分析 167
7.3.1 數據安全防護方案 167
7.3.2 數據授權及審計系統 168
7.3.3 數據血緣追蹤 169
7.4 小結 170
第三部分 架構實踐案例
第8章 賬號系統 173
8.1 系統整體架構 173
8.1.1 註冊服務 173
8.1.2 認證服務 175
8.1.3 授權服務 176
8.2 關鍵問題及解決方案 177
8.2.1 如何解決會話粘連問題 177
8.2.2 如何實現數據一致性 181
8.2.3 如何實現安全降級 183
8.3 小結 184
第9章 秒殺系統 185
9.1 系統整體架構 185
9.1.1 接入網關 186
9.1.2 訂單及庫存服務 187
9.1.3 支付服務 189
9.2 關鍵問題及解決方案 190
9.2.1 如何優化流量金字塔模型 190
9.2.2 如何解決並發場景下的庫存扣減一致性問題 191
9.2.3 如何提升熱點賬戶的衝扣性能 193
9.3 小結 197
第 10章 消息推送系統 198
10.1 系統整體架構 198
10.1.1 業務接入層 199
10.1.2 通道層 200
10.1.3 客戶端層 200
10.2 關鍵問題及解決方案 200
10.2.1 如何實現過載保護 201
10.2.2 如何提升消息分發性能 202
10.2.3 如何解決海量消息推送明細的存儲問題 203
10.2.4 如何降低推送的客戶端功耗 203
10.2.5 如何解決消息重複推送問題 204
10.2.6 如何解決海量長連接問題 205
10.2.7 如何解決客戶端消息偽造問題 206
10.3 小結 206
第 11章 區塊鏈系統 207
11.1 系統整體架構及優化 207
11.1.1 接入層 208
11.1.2 池化層及指令處理層 210
11.1.3 網絡層 213
11.1.4 存儲層 215
11.2 小結 216


