定 價:¥89.00
作 者: | 易哥 著 |
出版社: | 電子工業(yè)出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787121404870 | 出版時間: | 2021-03-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數(shù): | 292 | 字數(shù): |
第1章 高性能架構 001
1.1 軟件架構 001
1.2 軟件的質量 003
1.3 高性能概述 004
1.4 軟件性能指標 005
1.4.1 吞吐量 006
1.4.2 并發(fā)數(shù) 006
1.4.3 平均響應時間 007
1.4.4 可靠性指標 008
1.5 性能指標之間的關系 009
1.5.1 并發(fā)數(shù)對吞吐量的影響 009
1.5.2 并發(fā)數(shù)對平均響應時間的影響 011
1.5.3 平均響應時間對并發(fā)數(shù)的影響 012
1.5.4 可靠性指標與其他指標的關系 013
1.6 高性能架構總結 013
第2章 分流設計 014
2.1 內容分發(fā)網絡 014
2.1.1 內容分發(fā)網絡的結構 015
2.1.2 內容分發(fā)網絡的原理 017
2.2 多地址直連 019
2.3 反向代理 021
第3章 服務并行設計 026
3.1 并行與并發(fā) 026
3.2 集群系統(tǒng) 028
3.2.1 無狀態(tài)的節(jié)點集群 028
3.2.2 單一服務節(jié)點集群 029
3.2.3 信息共享的節(jié)點集群 031
3.2.4 信息一致的節(jié)點集群 032
3.3 分布式系統(tǒng) 034
3.4 微服務系統(tǒng) 036
第4章 運算并發(fā) 038
4.1 多進程 038
4.2 多線程 039
4.2.1 線程的狀態(tài)及轉換 039
4.2.2 多線程的應用場景 041
4.2.3 多線程的創(chuàng)建 042
4.2.4 線程池 046
4.2.5 多線程資源協(xié)作 050
4.2.6 多線程進度協(xié)作 056
4.3 多協(xié)程 069
4.4 運算并發(fā)總結 072
第5章 輸入輸出設計 074
5.1 概念梳理 074
5.1.1 同步與異步 074
5.1.2 阻塞與非阻塞 075
5.2 IO模型 077
5.3 IO模型的層級關系 078
5.4 阻塞式IO模型 079
5.5 非阻塞式IO模型 081
5.6 信號驅動式IO模型 082
5.7 復用式IO模型 083
5.8 異步式IO模型 086
5.9 輸入輸出模型總結 088
第6章 數(shù)據(jù)庫設計與優(yōu)化 090
6.1 數(shù)據(jù)庫設計概述 090
6.2 關系型數(shù)據(jù)庫設計 091
6.2.1 設計范式介紹 093
6.2.2 反范式設計 101
6.3 索引原理與優(yōu)化 102
6.3.1 索引的原理 103
6.3.2 索引生效分析 107
6.3.3 索引的使用 109
6.3.4 索引的利弊 116
6.4 數(shù)據(jù)庫引擎 116
6.5 數(shù)據(jù)庫鎖 117
6.5.1 樂觀鎖 118
6.5.2 悲觀鎖 119
6.6 死鎖 120
6.7 事務 122
6.7.1 事務并發(fā)導致的問題 123
6.7.2 事務隔離級別 124
6.7.3 自建事務 126
6.8 巨量數(shù)據(jù)的優(yōu)化 128
6.8.1 表分區(qū) 128
6.8.2 分庫分表 132
6.8.3 讀寫分離 134
6.9 非傳統(tǒng)數(shù)據(jù)庫 138
6.9.1 內存數(shù)據(jù)庫 139
6.9.2 列存儲數(shù)據(jù)庫 140
6.9.3 面向對象數(shù)據(jù)庫 140
6.9.4 文檔數(shù)據(jù)庫 140
6.9.5 圖數(shù)據(jù)庫 141
6.10 數(shù)據(jù)庫中間件 141
第7章 緩存設計 143
7.1 緩存的收益 143
7.2 緩存的鍵與值 145
7.2.1 緩存的鍵 145
7.2.2 緩存的值 149
7.3 緩存的更新機制 151
7.3.1 時效性更新機制 151
7.3.2 主動更新機制 152
7.4 緩存的清理機制 155
7.4.1 時效式清理 156
7.4.2 數(shù)目閾值式清理 157
7.4.3 非強引用式清理 161
7.4.4 清理策略使用實踐 164
7.5 緩存的風險點 165
7.5.1 緩存穿透 165
7.5.2 緩存雪崩 166
7.5.3 緩存擊穿 166
7.5.4 緩存預熱 167
7.6 緩存的位置 168
7.6.1 客戶端緩存 169
7.6.2 靜態(tài)緩存 172
7.6.3 服務緩存 173
7.6.4 數(shù)據(jù)庫緩存 173
7.7 寫緩存 174
7.7.1 寫緩存的收益問題 175
7.7.2 寫緩存實踐 175
第8章 可靠性設計 177
8.1 軟件可靠性概述 177
8.2 軟件可靠性指標 178
8.2.1 失效概率 178
8.2.2 失效強度 179
8.2.3 失效率 179
8.3 模塊連接方式與可靠性 179
8.3.1 串聯(lián)系統(tǒng)的可靠性 179
8.3.2 并聯(lián)系統(tǒng)的可靠性 180
8.3.3 冗余系統(tǒng)的可靠性 180
8.3.4 模塊連接方式的可靠性討論 181
8.4 軟件失效模型 181
8.5 可靠性設計 182
8.5.1 消除單點依賴 183
8.5.2 化串聯(lián)為并聯(lián) 183
8.5.3 采用集群 184
第9章 應用保護 185
9.1 應用保護概述 185
9.2 隔離 187
9.3 限流 189
9.3.1 時間窗限流法 189
9.3.2 漏桶限流法 190
9.3.3 令牌限流法 192
9.4 降級 193
9.5 熔斷 196
9.6 恢復 198
第10章 前端高性能 200
10.1 前端工作分析 200
10.1.1 前端加載過程 200
10.1.2 前端性能分析 201
10.2 資源下載優(yōu)化 203
10.2.1 資源壓縮 203
10.2.2 減少請求 205
10.2.3 資源緩存 210
10.3 頁面解析優(yōu)化 214
10.3.1 順應解析流程 214
10.3.2 應用新型前端框架 216
10.4 懶加載 216
10.5 預操作 217
第11章 架構設計理論 219
11.1 軟件架構風格 219
11.1.1 管道過濾器架構風格 220
11.1.2 面向對象架構風格 220
11.1.3 基于組件的架構風格 221
11.1.4 事件驅動架構風格 221
11.1.5 分層架構風格 221
11.1.6 C/S架構風格 222
11.1.7 三層C/S架構風格 223
11.1.8 B/S架構風格 224
11.2 軟件生命周期 225
11.2.1 需求階段 226
11.2.2 模型設計 227
11.2.3 概要設計 228
11.2.4 詳細設計 228
11.2.5 質量指標設計 229
11.2.6 方案預研 229
11.2.7 軟件開發(fā) 229
第12章 高性能架構實踐 231
12.1 需求概述 231
12.2 權限系統(tǒng)的相關理論 234
12.2.1 權限模型 234
12.2.2 訪問控制方式 240
12.3 模型設計 241
12.3.1 模型調研 241
12.3.2 模型應用 242
12.4 概要設計 249
12.5 數(shù)據(jù)層詳細設計 253
12.5.1 RBAC數(shù)據(jù)表的范式設計 253
12.5.2 RBAC數(shù)據(jù)表的反范式設計 254
12.5.3 RBAC數(shù)據(jù)表的最終設計 255
12.5.4 MatrixAuth管理類數(shù)據(jù)表設計 257
12.5.5 MatrixAuth的數(shù)據(jù)層結構 259
12.6 緩存詳細設計 260
12.7 服務端詳細設計 261
12.7.1 數(shù)據(jù)源動態(tài)切換 261
12.7.2 數(shù)據(jù)冗余的一致性保證 263
12.7.3 服務端的操作接口 263
12.8 客戶端詳細設計 265
12.8.1 可控角色的權限驗證 265
12.8.2 自由角色的權限驗證 267
12.8.3 用戶信息、角色關聯(lián)信息推送 268
12.9 MatrixAuth項目實踐總結 268
12.9.1 MatrixAuth的高性能設計 268
12.9.2 需求完成度分析 270
12.9.3 MatrixAuth的使用簡介 270
參考文獻 273