架構寶典 版權信息
- ISBN:9787121360664
- 條形碼:9787121360664 ; 978-7-121-36066-4
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
架構寶典 本書特色
本書從架構設計概念、方法、模式、實踐案例等4 個方面進行闡述,內容豐富,是一本可以很好指導實踐的書籍,更是各位資深專家和架構師的經驗總結。本書共分為4 部分:*部分介紹架構設計的概念、方法論,以及架構師的核心能力;第二部分介紹微服務架構選型、架構模式與實踐、數據一致性保證、微服務與DevOps 的關系以及如何設計云微服務架構;第三部分介紹移動電商、消費信貸、支付系統、金融撮合等領域的優秀實踐;第四部分介紹優化系統架構性能的方法論、案例、關鍵技術等。本書適合即將步入架構領域的技術專家,以及致力于提升軟件架構設計能力的架構師、設計人員和開發人員閱讀,希望本書能夠為讀者的實際工作和個人成長提供幫助。
架構寶典 內容簡介
本書從架構設計概念、方法、模式、實踐案例等4 個方面進行闡述,內容豐富,是一本可以很好指導實踐的書籍,更是各位資深專家和架構師的經驗總結。本書共分為4 部分:部分介紹架構設計的概念、方法論,以及架構師的核心能力;第二部分介紹微服務架構選型、架構模式與實踐、數據一致性保證、微服務與DevOps 的關系以及如何設計云微服務架構;第三部分介紹移動電商、消費信貸、支付系統、金融撮合等領域的很好實踐;第四部分介紹優化系統架構性能的方法論、案例、關鍵技術等。本書適合即將步入架構領域的技術專家,以及致力于提升軟件架構設計能力的架構師、設計人員和開發人員閱讀,希望本書能夠為讀者的實際工作和個人成長提供幫助。
架構寶典 目錄
第1 篇 架構方法論
1 有關架構的概念認知 2
1.1 引言 2
1.2 認識架構 2
1.3 規劃、架構與設計 4
1.3.1 三個不同層次的概念 4
1.3.2 規劃與架構 4
1.3.3 架構與設計 5
1.4 解耦與服務化 6
1.5 分工與組件化 6
1.6 集中與分布 7
1.7 規劃還是演化 8
1.8 簡化也很必要 9
1.9 架構與軟件開發(軟件過程) 11
1.9.1 敏捷軟件開發 11
1.9.2 敏捷軟件開發與微服務架構 12
1.10 探討傳統企業IT 系統架構 12
1.10.1 從架構角度解決企業應用痛點 13
1.10.2 企業應用系統架構服務化遷移步驟 13
1.10.3 企業應用系統架構服務化參考模型 14
1.11 總結 15
2 以終為始的架構設計 16
2.1 緣起 16
2.2 我們的思考方式 17
2.3 為什么要做架構設計 18
2.3.1 由模型到實施 18
2.3.2 業務規模發展帶來的復雜度 19
2.3.3 從溝通視角看軟件架構 20
2.4 如何做架構設計 20
2.4.1 以終為始,不忘初心 21
2.4.2 PMC 框架 21
2.4.3 從多視角、多層次看架構 23
2.4.4 滿足利益相關者的需要 25
2.4.5 聚焦SLA 26
2.4.6 抽象、協作、擴展、復用 28
2.4.7 分析全息視圖 29
2.5 架構是什么 29
2.5.1 架構兼具組成和決策的特點 30
2.5.2 架構是演進來的 30
2.5.3 無純粹的非功能特性 31
2.6 總結 32
3 閉環架構方法 34
3.1 系統提升的一般性方法和反饋環 34
3.2 產品創新閉環 36
3.3 組織閉環 37
3.4 研發流程閉環 39
3.5 系統架構閉環 40
3.6 一個反饋閉環實例 41
3.7 總結 44
4 復雜與架構演進的關系 46
4.1 什么是復雜 46
4.1.1 規模 47
4.1.2 結構 51
4.1.3 變化 58
4.2 用架構思維控制復雜 67
4.2.1 分而治之,控制規模 67
4.2.2 保持架構的清晰與一致 67
4.2.3 擁抱變化 70
4.3 總結 71
5 架構師的核心能力 72
5.1 架構師承擔的職責 72
5.2 架構師的核心能力 73
5.2.1 經驗 73
5.2.2 溝通 74
5.2.3 快速學習 74
5.2.4 解決問題的能力 76
5.3 架構能力的修煉 76
5.4 總結 77
第2 篇 面向架構的架構(微服務)
6 快速繼承微服務實踐 80
6.1 概述 80
6.2 我們希望的微服務是什么樣子的 81
6.3 實現微服務 82
6.4 實現的考量及調研 83
6.4.1 gRPC 有什么問題 83
6.4.2 如何提高易用性 83
6.5 讓微服務快速落地 87
6.6 總結 89
7 微服務架構下的事務處理 90
7.1 概述 90
7.2 使用傳統的本地事務和分布式事務保證一致性 90
7.3 在微服務架構中應滿足數據*終一致性原則 92
7.4 微服務架構實現*終一致性的三種模式 92
7.4.1 可靠事件模式 93
7.4.2 業務補償模式 101
7.4.3 TCC(Try-Confirm-Cancel)模式 106
7.5 總結 109
8 微服務架構模式與實踐 110
8.1 微服務的主要架構模式 110
8.1.1 一體化模式 110
8.1.2 聚合模式 110
8.1.3 代理模式 111
8.1.4 資源共享模式 112
8.1.5 異步消息模式 112
8.2 大量微服務帶來的挑戰 112
8.3 微服務在好雨的解決方案 113
8.3.1 服務發現和注冊 113
8.3.2 彈性伸縮與負載均衡 115
8.3.3 容錯處理(斷路器與限流) 116
8.3.4 監控與報警 116
8.3.5 數據存儲與共享 116
8.3.6 日志分析 117
8.4 總結 118
9 微服務與DevOps 架構實踐 119
9.1 概述 119
9.2 某金融創業公司的微服務架構選型 122
9.3 設計思想 124
9.4 總體架構 125
9.4.1 總體架構的特性 125
9.4.2 具體實現 126
9.5 對微服務的支撐 128
9.6 DevOps 平臺總體架構 130
9.7 面向微服務的研發團隊介紹 131
9.8 總結 133
10 基于云的微服務架構 134
10.1 概述 134
10.2 德比軟件數據對接平臺的架構 134
10.3 德比軟件微服務架構基礎設施 135
10.4 API 網關 136
10.5 服務框架 136
10.5.1 高可用RPC 137
10.5.2 服務依賴管理 138
10.6 基礎服務 140
10.6.1 配置中心 140
10.6.2 安全數據服務 141
10.6.3 數據存儲服務 141
10.6.4 訂單服務 142
10.7 服務降級 142
10.8 自動化 142
10.9 日志處理 143
10.10 調用鏈追蹤 144
10.11 服務健康狀態 144
10.11.1 報警 144
10.11.2 監控 145
10.12 發布管理 146
10.13 總結 147
11 Service Fabric:平臺架構解析 148
11.1 Service Fabric 概述 148
11.1.1 Service Fabric 的特點 148
11.1.2 Service Fabric 的適用場景 149
11.2 Service Fabric 編程模式 150
11.3 Service Fabric 服務通信 152
11.3.1 Service Fabric 的微服務開發工具 153
11.3.2 對Service Fabric 的微服務進行監控和診斷 153
11.4 Service Fabric 可靠服務概述 154
11.4.1 Service Fabric 可靠服務——有狀態服務的體系結構 154
11.4.2 Service Fabric 可靠服務——無狀態服務的體系結構 156
11.4.3 Service Fabric 可靠服務——備份 157
11.5 Service Fabric 可靠執行組件 157
11.6 Service Fabric 容器應用程序 159
11.7 總結 160
第3 篇 面向業務的架構
12 如何搭建高可伸縮的移動電商架構 162
12.1 概述微服務的主要架構模式 162
12.2 移動端的混合架構 162
12.3 服務器端的SOA 架構 164
12.4 PC 端和移動端的開發協作管理 166
12.5 基于容器的虛擬化 166
12.6 關于電商的私有云建設 167
12.7 如何應用彈性云來應對電商大促 169
12.8 應對電商大促峰值的“獨孤九劍” 170
13 消費信貸系統“白付美”是如何持續優化的 172
13.1 “白付美”介紹 172
13.2 “白付美”從0 到1 172
13.3 大促期間的性能保證 174
13.4 大促期間的穩定性保證 177
13.5 為服務多平臺所做的優化 178
13.6 未來的優化方向 179
13.7 總結 180
14 美麗聯合集團支付系統架構演進 182
14.1 概述 182
14.2 支付系統1.0 182
14.2.1 業務問題 183
14.2.2 系統問題 184
14.2.3 資金問題 185
14.3 支付系統2.0 185
14.3.1 拆分系統邊界 185
14.3.2 支付系統2.0 系統詳解 187
14.3.3 統一平臺業務上下文 192
14.3.4 直面數據一致性挑戰 192
14.4 性能提升 194
14.5 穩定性提升 201
14.5.1 監控先行 201
14.5.2 分離核心鏈路 201
14.5.3 服務依賴梳理 203
14.5.4 限流降級 203
14.6 壓測 204
14.7 成效 204
14.7.1 業務支撐能力 204
14.7.2 系統服務能力 205
14.8 總結 206
15 金融撮合架構 207
15.1 概述 207
15.2 系統總體設計 208
15.2.1 系統核心模塊 208
15.2.2 撮合算法設計 209
15.2.3 基于內存撮合 212
15.2.4 災備的多機設計 212
15.2.5 狀態機復制 213
15.2.6 系統架構 215
15.3 總結 218
第4 篇 面向性能的架構
16 一線架構師帶你玩性能優化 220
16.1 什么是系統優化 220
16.2 系統優化的方法論、思路和原則 220
16.2.1 常用方法論 221
16.2.2 優化思路 221
16.2.3 優化原則 222
16.3 性能優化 222
16.3.1 常見的性能問題 222
16.3.2 性能優化的具體工作 223
16.3.3 JVM 優化 230
16.3.4 數據庫優化 233
16.3.5 負載均衡優化 235
16.4 總結 237
17 性能優化的常見模式及趨勢 238
17.1 性能優化的優缺點 238
17.2 性能優化的兩種模式 239
17.3 單應用優化 239
17.3.1 優化的基本思路 239
17.3.2 確定性能瓶頸/熱點的常見方法 240
17.3.3 壓測時通常觀察的內容及其所使用的工具 240
17.3.4 常見的優化手段及模式 240
17.4 結構型優化 241
17.5 兩個結構型優化的案例 245
17.5.1 處理單點/網絡瓶頸的可行方式 245
17.5.2 處理數據庫連接池瓶頸的可行手段 245
17.6 總結 247
18 性能優化之幾種常見的壓測模型及其優缺點 248
18.1 壓測模型抽象 248
18.1.1 壓測環境準備 249
18.1.2 壓測任務準備 249
18.1.3 壓測執行閉環 249
18.2 線下壓測模型 250
18.3 線上引流壓測模型 251
18.4 線上全鏈路壓測模型 252
18.5 總結 253
19 緩存為王——無線緩存架構優化 254
19.1 無線緩存的定義、限制條件及影響 254
19.2 無線緩存要從全局考慮 254
19.2.1 服務器端架構對無線緩存的影響 254
19.2.2 無線緩存對服務器端架構的影響 255
19.2.3 大流量下無線緩存作用的劣化 256
19.2.4 無線緩存與本機移動端組件的關系 256
19.2.5 無線緩存存儲介質的選擇 257
19.3 數據、資源緩存及失效策略 257
19.3.1 架構詳論 257
19.3.2 實現失效策略 259
19.4 總結 263
展開全部
架構寶典 相關資料
非常榮幸能夠提前閱讀中生代技術社區這本新書的初稿,并給本書寫評語。本書集國內眾多資深架構師智慧之所長,對架構方法論、微服務架構、業務架構、性能優化4個方面進行了詳細講解。學習架構知識就需要參考這樣的好書,建議希望深入學習架構知識的朋友們閱讀這本寶典。
—— 黃勇,《架構探險——從零開始寫Java Web框架》作者
架構是軟件工程的實踐藝術,要化理想為現實,不是空中樓閣。懂得再多的設計理念、方法論,光說不練還是假把式,只有做出來并獲得認可才是真功夫。這本寶典匯集了業界許多成功案例,不講空話,誠意滿滿!
——史海峰,微信公眾號“IT民工閑話”作者
架構一詞*早源于建筑學領域,是指由各種構件組成的體系。而軟件架構則要從可靠性、安全性、可擴展性、可伸縮性等方面進行描述。由中生代技術社區出品的《架構寶典》集眾多技術專家之長,以理論為基礎,以實戰為出發點,匯集了很多可落地的架構方案,是一本值得期待的工具書。
——程超,《深入分布式緩存:從原理到實踐》作者
感謝中生代技術社區把這么多技術大咖聚集起來共同完成這一杰作。架構是持續迭代的,用于滿足業務快速發展、降低重構風險!本書是多位技術專家結合實戰經驗并進行思維碰撞所產生的杰作,必然會為眾多技術從業者提供快速學習和實踐的參考!
——李彥輝,快CTO創始人
Metaphors We Live By一書中提到,人類的概念系統本質上是基于隱喻的。軟件研發領域的“服務”“架構”“模式”和“設計”等均是通過對建筑等其他領域的工作內容進行隱喻而得來的概念。因此對于很多從業人員來說,它們具體意味著什么,只可意會,不可言傳。本書嘗試從方法論進行梳理,然后從微服務架構切入,進行深度演繹,*后輔以大量的業務場景實戰,讓讀者更好地理解和消化“架構”的意義和構建方法,是抽象理論和實踐經驗相結合的佳作。
——李昊,滿幫集團高級技術總監
架構寶典 作者簡介
中生代技術社區:成立于2015年12月,取名為“中生代”是因為社區內包含了許多承上啟下的技術人,這些技術人是技術的中堅力量,知識的中產階級,社區致力于傳播前輩的技術精神,增強中生代的技術實力,最重要的是挖掘新生代的技術潛力。社區聚集了10萬多名IT行業人員,包括軟件工程師、運維人員、架構師等,其中技術負責人、技術總監、CTO,以及技術公司創始人等5000多名;此外,社區還組織了各種線上、線下技術分享活動,分享的主題涉及云計算、微服務、電子商務、FinTech、研發管理、人工智能、大數據、區塊鏈等。