從零開始學架構:照著做,你也能成為架構師

從零開始學架構:照著做,你也能成為架構師

作者: 李運華
出版社: 電子工業
出版在: 2018-09-01
ISBN-13: 9787121347917
ISBN-10: 7121347911
裝訂格式: 平裝
總頁數: 324 頁





內容描述


本書的內容主要包含以下幾部分:1) 架構設計基礎,包括架構設計相關概念、歷史、原則、基本方法,讓架構設計不再神秘;2) 架構設計流程,通過一個虛擬的案例,描述了一個通用的架構設計流程,讓架構設計不再依賴天才的創作,而是有章可循;3) 架構設計專題:包括高性能架構設計、高可用架構設計、可擴展架構設計,這些模式可以直接參考和應用;4) 架構設計實戰,包括重構、開源方案引入、架構發展路徑、因特網架構模板等


目錄大綱


第1部分概念和基礎

第1章架構基礎
1.1 “架構”到底指什麼
1.1.1系統與子系統
1.1.2模塊與組件
1.1.3框架與架構
1.1. 4重新定義架構
1.2架構設計的目的
1.2.1架構設計的誤區
1.2.2以史為鑑
1.2.3架構設計的真正目的
1.3複雜度來源
1.3.1高性能
1 .3.2高可用
1.3.3可擴展性
1.3.4低成本
1.3.5安全
1.3.6規模
1.4本章小結
 
第2章架構設計原則
2.1合適原則
2 .2簡單原則
2.3演化原則
2.4本章小結
 
第3章架構設計流程
3.1有的放矢―識別複雜度
3.2按圖索驥―設計備選方案
3.3深思熟慮―評估和選擇備選方案
3. 3.1業務背景
3.3.2備選方案設計
3.3.3備選方案360度環評
3.4精雕細琢―詳細方案設計
3.5本章小結
 
第2部分高性能架構模式
 
第4章存儲高性能
4.1關係數據庫
4.1.1讀寫分離
4.1.2分庫分錶
4.1.3實現方法
4.2 NoSQL 
4.2.1 KV存儲
4.2.2文檔數據庫
4.2 .3列式數據庫
4.2.4全文搜索引擎
4.3緩存
4.3.1緩存穿透
4.3.2緩存雪崩
4.3.3緩存熱點
4.4本章小結
 
第5章計算高性能
5.1單服務器高性能
5.1.1 PPC 
5.1.2 prefork 
5.1.3 TPC 
5.1.4 prethread 
5.1.5 Reactor 
5.1.6 Proactor 
5.2集群高性能
5 .2.1負載均衡分類
5.2.2負載均衡架構
5.2.3負載均衡的算法
5.3本章小結
 
第3部分高可用架構模式
 
第6章CAP 
6.1 CAP理論
6.1.1一致性(Consistency)
6.1.2可用性
6.1.3分區容忍性(Partition Tolerance)
6.2 CAP應用
6.2.1 CP―Consistency/Partition Tolerance 
6.2.2 AP―Availability/Partition Tolerance 
6.3 CAP細節
6.4 ACID、BASE 
6.4.1 ACID 
6.4.2 BASE 
6.5本章小結
 
第7章FMEA 
7.1 FMEA介紹
7.2 FMEA方法
7.3 FMEA實戰
7.4本章小結
 
第8章存儲高可用
8.1主備複製
8.1.1基本實現
8.1.2優缺點分析
8.2主從復制
8.2.1基本實現
8.2.2優缺點分析
8.3主備倒換與主從倒換
8.3.1設計關鍵
8.3.2常見架構
8.4主主複製
8.5數據集群
8.5.1數據集中集群
8.5.2數據分散集群
8.5.3分佈式事務算法
8.5.4分佈式一致性算法
8.6數據分區
8.6 .1數據量
8.6.2分區規則
8.6.3複製規則
8.7本章小結
 
第9章計算高可用
9.1主備
9.2主從
9.3對稱集群
9.4非對稱集群
9.5本章小結
 
第10章業務高可用
10.1異地多活
10.1.1異地多活架構
10.1.2異地多活設計技巧
10.1.3異地多活設計步驟
10.2接口級的故障應對方案
10.2.1降級
10.2.2熔斷
10.2.3限流
10.2.4排隊
10.3本章小結

第4部分可擴展架構模式
 
第11章可擴展模式
11.1可擴展概述
11.2可擴展的基本思想
11.3可擴展方式
11.4本章小結
 
第12章分層架構
12.1分層架構類型
12.2分層架構詳解
12.3本章小結
 
第13章SOA架構
13.1 SOA歷史
13.2 SOA詳解
13.3本章小結
 
第14章微服務
14.1微服務歷史
14.2微服務與SOA的關係
14.3微服務的陷阱
14.4微服務最佳實踐
14.4.1服務粒度
14.4.2拆分方法
14.4.3基礎設施
14.5本章小結
 
第15章微內核架構
15.1基本概念
15.2設計關鍵點
15.3 OSGi架構簡析
15.4規則引擎架構簡析
15.5本章小結
 
第5部分架構實戰
 
第16章消息隊列設計實戰
16.1需求
16.2設計流程
16.2.1識別複雜度
16.2.2設計備選方案
16.2.3評估和選擇備選方案
16. 2.4細化方案
16.3本章小結
 
第17章互聯網架構演進
17.1技術演進
17.1.1技術演進的動力
17.1.2淘寶
17.1.3手機QQ 
17.1.4微信
17.2技術演進的模式
17.3互聯網業務發展
17.3.1業務複雜性
17.3.2用戶規模
17.3.3量變到質變
17.4本章小結
 
第18章互聯網架構模板
18.1總體結構
18.2存儲層技術
18.2.1 SQL 
18.2.2 NoSQL 
18.2.3小文件存儲
18.2.4大文件存儲
18.3開發層技術
18.3.1開發框架
18.3.2 Web服務器
18.3.3容器
18.4服務層技術
18.4.1配置中心
18.4.2服務中心
18.4. 3消息隊列
18.5網絡層技術
18.5.1負載均衡
18.5.2 CDN 
18.5.3多機房
18.5.4多中心
18.6用戶層技術
18.6.1用戶管理
18 .6.2消息推送
18.6.3存儲雲與圖片雲
18.7業務層技術
18.8平台技術
18.8.1運維平台
18.8.2測試平台
18.8.3數據平台
18 .8.4管理平台
18.9本章小結
 
第19章架構重構
19.1有的放矢
19.2合縱連橫
19.2.1合縱
19.2.2連橫
19.3運籌帷幄
19.4文武雙全―項目管理+技術能力
19.5本章小結
 
第20章開源系統
20.1選:如何選擇一個開源項目
20.1.1聚焦是否滿足業務
20.1.2聚焦是否成熟
20.1.3聚焦運維能力
20.2用:如何使用開源方案
20.2.1深入研究,仔細測試
20.2.2小心應用,灰度發布
20.2.3做好應急,以防萬一
20.3改:如何基於開源項目做二次開發
20.3.1保持純潔,加以包裝
20.3.2發明你要的輪子
20.4本章小結


作者介紹


互聯網資深技術專家,十多年技術老兵,目前帶領多個研發團隊,承擔架構設計、架構重構、技術團隊管理、技術培訓等職責;專注於開源技術、系統分析、架構設計,對互聯網技術的特點和發展趨勢有較深入的研究,對系統解耦、高性能、高可用架構有豐富的經驗。




相關書籍

軟件架構設計 : 程序員向架構師轉型必備, 2/e

作者 溫昱

2018-09-01

人人都懂設計模式:從生活中領悟設計模式 (Python 實現)

作者 羅偉富

2018-09-01

Data-oriented design: software engineering for limited resources and short schedules

作者 Mr Richard Fabian

2018-09-01