程式設計師從零開始邁向架構師之路
內容描述
本書特色
自成一派的架構設計方法論,涵蓋:
►架構基礎
►高性能架構模式
►高可用架構模式
►可擴展架構模式
►架構實戰
專家力薦
本書所包含的知識點正是架構師需要掌握的必備技能,讀者加以學習並靈活應用,一定能成為優秀的架構師。運華是我非常敬佩的架構專家,能把學習架構的脈絡梳理得如此清晰,可見功力深厚。
黃勇 特贊科技CTO
建築的命運最終只有2種:被拆(被反覆運算)或被保護起來。架構作為軟體系統支撐骨架,與建築類似,或被反覆運算,或作為經典持續被技術人員學習。如何設計系統架構,什麼才是優秀的系統架構,本書以豐富的案例,由淺入深、層層遞進,讓技術人員充分學習架構及領略架構之美。
熊普江 騰訊佈道師&騰訊雲高級總監
作者談架構定義、原則、模式和案例,深入淺出,為有志於做架構工作的朋友提供一條路徑。或許讀者在實踐之後偶爾重讀有新的感受,這大概是寫作的最大安慰吧。
於君澤(右軍) 資深技術專家
作者將軟體架構的複雜性和嚴謹的理論,提煉成日常軟體工程的務實實踐和清爽易讀的文字。為讀者提供從概念到實踐的方法,從程式碼視角轉向架構視角和設計視角,適合所有要構建一款好軟體的技術人,成為強大的程式師、架構師和技術領導者。
杜江(洛逸)21CTO社區創始人、今日頭條特賣原技術負責人
架構師雖然是一個技術職位,但綜合能力要求很高,是團隊中的技術領導者。本書提綱挈領,從概念到模式並結合實戰,為我們掀開神秘面紗,展示架構師的全景視圖,相信會成為很多工程師進階架構師的入門寶典。
史海峰 貝殼金服 2B2C CTO
本書主要內容
本書涵蓋作者整套架構設計方法論和架構實踐,主要包括以下內容。
■ 「架構基礎」先介紹架構設計的本質、歷史背景和目的,然後從複雜度來源,以及架構設計的原則和流程來詳細介紹架構基礎。
■「高性能架構模式」從存儲高性能、計算高性能方面介紹幾種設計方案的典型特 徵和應用場景。
■「高可用架構模式」介紹 CAP 原理、FMEA 分析方法,分析常見的高可用存儲架構和高可用計算架構,給出一些設計方法和技巧。
■「可擴展架構模式」介紹可擴展模式及其基本思想,分析一些常見架構模式。
■「架構實戰」將理論和案例結合,落地前面提到的架構原則、架構流程和架構模式。
適合讀者群:軟體發展工程師、對架構設計有興趣的技術人員、有架構設計經驗,但要繼續提升的技術人員。
目錄大綱
前言
第一篇 概念和基礎
第1章 架構基礎
1.1 「架構」到底指什麼
1.2 架構設計的目的
1.3 複雜度來源
1.4 本章小結
第 2 章 架構設計原則
2.1 合適原則
2.2 簡單原則
2.3 演化原則
2.4 本章小結
第 3 章 架構設計流程
3.1 有的放矢—識別複雜度
3.2 按圖索驥—設計備選方案
3.3 深思熟慮—評估和選擇備選方案
3.4 精雕細琢—詳細方案設計
3.5 本章小結
第二篇 高性能架構模式
第 4 章 存儲高性能
4.1 關聯式資料庫
4.2 NoSQL
4.3 緩存
4.4 本章小結
第 5 章 計算高性能
5.1 單伺服器高性能
5.2 集群高性能
5.3 本章小結
第二篇 高可用架構模式
第 6 章 CAP
6.1 CAP 理論
6.2 CAP 應用
6.3 CAP 細節
6.4 ACID、BASE
6.5 本章小結
第 7 章 FMEA
7.1 FMEA 介紹
7.2 FMEA 方法
7.3 FMEA 實戰
7.4 本章小結
第 8 章 存儲高可用
8.1 主備複製
8.2 主從複製
8.3 主備倒換與主從倒換
8.4 主主複製
8.5 資料集群
8.6 數據分區
8.7 本章小結
第 9 章 計算高可用
9.1 主備
9.2 主從
9.3 對稱集群
9.4 非對稱集群
9.5 本章小結
第 10 章 業務高可用
10.1 異地多活異地多活設計技巧
10.2 介面級的故障應對方案
10.3 本章小結
第四篇 可擴展架構模式
第 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.5 本章小結
第 15 章 微內核架構
15.1 基本概念
15.2 設計關鍵點
15.3 OSGi 架構簡析
15.4 規則引擎架構簡析
15.5 本章小結
第五篇 架構實戰
第 16 章 訊息佇列設計實戰
16.1 需求
16.2 設計流程
16.3 本章小結
第 17 章 互聯網架構演進
17.1 技術演進
17.2 技術演進的模式
17.3 互聯網業務發展
17.4 本章小結
第 18 章 互聯網架構範本
18.1 總體結構
18.2 存儲層技術
18.3 開發層技術
18.4 服務層技術
18.5 網路層技術
18.6 用戶層技術
18.7 業務層技術
18.8 平台技術
18.9 本章小結
第 19 章 架構重構
19.1 有的放矢
19.2 合縱連橫
19.3 運籌帷幄
19.4 文武雙全—專案管理 + 技術能力
19.5 本章小結
第 20 章 開源系統
20.1 選:如何選擇一個開源項目
20.2 用:如何使用開源方案
20.3 改:如何基於開源專案做二次開發
20.4 本章小結
作者介紹
李運華
互聯網資深技術專家,十多年技術老兵,帶領多個研發團隊,負責架構設計、架構重構、技術團隊管理、技術培訓等。
專注於開源技術、系統分析、架構設計,對互聯網技術的特點和發展趨勢有深入的研究,對系統解耦、高性能、高可用架構有豐富的經驗。