-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
分布式高可用架構之道 版權信息
- ISBN:9787302606505
- 條形碼:9787302606505 ; 978-7-302-60650-5
- 裝幀:一般輕型紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
分布式高可用架構之道 本書特色
高可用是分布式系統架構設計中必須考慮的因素之一,也是成為一名優秀的架構師必須具備的知識,系統的可用性在過去、現在和未來都是架構領域*重要的一個環節,在大型分布式系統中,一個小模塊設計不合理,可用性差,都可能影響用戶體驗,給企業帶來損失。 那么,影響高可用的因素有哪些?如何設計持續穩定的高可用架構?本書將從基礎理論、解決方案、應用案例、代碼實現等方面解答高可用架構設計的這些困惑。
分布式高可用架構之道 內容簡介
本書從開發高可用系統需要具備的理論知識出發,逐步講解應用的高可用、數據庫高可用、緩存高可用、Nginx/LVS高可用、異地多活、全鏈路監控/告警、高可用與安全、高可用在系統中的應用等內容,書中同時提供了大量有價值的解決方案,可直接用于開發實踐。 本書理論與實踐并重,適合具有一定Java開發經驗的人員,或者想從程序員進階為架構師的開發人員閱讀。
分布式高可用架構之道 目錄
第1章 理解高可用 1
1.1 什么是可用性 1
1.1.1 SLA與可用性 1
1.1.2 影響高可用的因素 3
1.1.3 高可用策略 4
1.1.4 高可用和高可靠 7
1.2 FMEA理論 7
1.3 集群與分布式 9
1.3.1 什么是集群與分布式 9
1.3.2 分布式架構 11
1.4 高可用之CAP理論 13
1.4.1 CAP理論 13
1.4.2 ACID理論 15
1.4.3 兩階段提交 16
1.4.4 補償事務TCC 17
1.4.5 BASE理論 19
1.5 高可用之選舉算法 21
1.5.1 霸道選舉算法 21
1.5.2 Raft選舉算法 24
1.5.3 ZAB選舉算法 26
1.6 高可用之共識算法 29
1.6.1 Paxos算法 29
1.6.2 Multi-Paxos算法 32
1.6.3 Raft算法 33
1.7 高可用之一致性算法 34
1.7.1 一致性分類 34
1.7.2 Gossip協議(*終一致性) 34
1.7.3 Quorum NWR算法 37
1.7.4 Quorum NWR的應用 38
1.7.5 Raft日志一致性 40
第2章 應用的高可用 43
2.1 軟件質量對高可用的影響 43
2.1.1 影響寫出高質量代碼的原因 43
2.1.2 代碼重構 46
2.1.3 代碼審查概述 47
2.1.4 人工代碼審查 48
2.1.5 代碼自動檢查 52
2.2 優雅關閉 53
2.2.1 Java優雅關閉 55
2.2.2 Spring Boot微服務優雅關閉 58
2.3 優雅啟動 60
2.3.1 預熱啟動 60
2.3.2 延時注冊 61
2.4 服務狀態 62
2.4.1 無狀態服務 62
2.4.2 有狀態服務 63
2.4.3 實現無狀態 63
2.5 重試 64
2.5.1 重試概述 64
2.5.2 重試風險 64
2.5.3 退避策略 65
2.5.4 重試熔斷策略 65
2.5.5 鏈路重試熔斷 66
2.5.6 重試超時 67
2.6 冪等 68
2.6.1 非冪等原因 68
2.6.2 冪等定義 68
2.6.3 冪等場景 69
2.6.4 冪等解決方案 70
2.7 健康檢查 74
2.7.1 Spring Boot Actuator健康檢查 75
2.7.2 Nacos健康檢查 84
2.8 流量削峰 96
2.8.1 為何要削峰 96
2.8.2 答題/驗證碼 97
2.8.3 分時分段 97
2.8.4 禁用“秒殺”按鈕 98
2.8.5 分層過濾 98
2.8.6 消息隊列 99
2.9 負載均衡 100
2.9.1 負載均衡算法 100
2.9.2 負載均衡的實現 105
2.10 限流 108
2.10.1 限流概述 108
2.10.2 限流算法 109
2.10.3 Sentinel中的勻速排隊限流策略 113
2.11 降級 121
2.11.1 服務降級概述 121
2.11.2 服務降級開關 121
2.11.3 自動降級 122
2.11.4 讀服務降級 123
2.11.5 寫服務降級 123
2.12 熔斷 124
2.12.1 熔斷概述 124
2.12.2 熔斷實現 125
2.12.3 案例:Hystrix的工作流程 126
2.13 故障檢測 130
2.13.1 固定心跳 130
2.13.2 心跳設計 131
2.13.3 TCP Keepalive 132
2.13.4 MQTT Keepalive 133
2.14 故障隔離 133
2.14.1 故障隔離概述 133
2.14.2 故障隔離策略 134
2.15 集群容錯 136
2.15.1 失敗轉移 136
2.15.2 失敗自動恢復 137
2.15.3 失敗安全策略 137
2.15.4 快速失敗 138
2.16 集群部署 139
2.16.1 停機部署 139
2.16.2 藍綠部署 139
2.16.3 滾動發布 141
2.16.4 灰度發布/金絲雀部署 143
2.16.5 無損發布 146
第3章 數據庫高可用 148
3.1 數據庫高可用概述 148
3.1.1 數據庫高可用的重要性 148
3.1.2 MySQL XA協議 149
3.2 雙節點 154
3.2.1 主從模式實現讀寫分離 154
3.2.2 讀寫分離實現方案 156
3.2.3 SQL語句執行過程 158
3.2.4 MySQL日志模塊 160
3.2.5 主從數據同步 162
3.3 MySQL高可用架構 165
3.3.1 MySQL高可用架構MMM 165
3.3.2 基于MHA實現MySQL自動故障轉移 166
3.3.3 MySQL Cluster架構 167
3.3.4 MySQL+DRDB + Heartbeat架構 169
3.3.5 云數據庫高可用架構 170
3.4 案例:MySQL一主多從數據同步 172
第4章 緩存高可用 177
4.1 緩存概述 177
4.2 緩存高可用概述 178
4.3 客戶端分區方案 178
4.4 中間代理層方案 179
4.4.1 中間代理層概述 179
4.4.2 Codis架構 179
4.5 服務端方案 181
4.5.1 主從模式 181
4.5.2 哨兵模式 183
4.5.3 Redis集群模式 188
4.5.4 Codis 和 Redis集群的區別 193
4.5.5 云數據庫Redis 194
第5章 Nginx/LVS高可用 197
5.1 Nginx 197
5.1.1 Nginx概述 197
5.1.2 Nginx+Keepalived保障高可用 197
5.2 LVS 198
5.2.1 LVS概述 198
5.2.2 Nginx+Keepalived+LVS保障高可用、高性能 199
5.3 DNS 200
5.3.1 DNS概述 200
5.3.2 DNS解析過程 201
5.3.3 DNS負載均衡 202
5.3.4 DNS+LVS+Nginx+Keepalived 202
第6章 異地多活 204
6.1 異地多活概述 204
6.2 異地多活的類型 205
第7章 高可用之全鏈路監控、告警 208
7.1 監控/告警概述 208
7.1.1 監控/告警的意義 208
7.1.2 全鏈路監控 209
7.1.3 告警規則 210
7.1.4 發送告警 210
7.1.5 監控系統通用設計 210
7.1.6 監控體系案例 211
7.2 日志監控/告警方案 212
7.2.1 ELK日志系統 212
7.2.2 日志告警 215
7.3 資源監控/告警方案 216
7.3.1 監控概述 216
7.3.2 Promethous+Grafana+InfluxDB 217
7.3.3 其他開源監控 221
7.3.4 AlertManager告警 223
7.4 鏈路追蹤監控 223
第8章 高可用與安全 226
8.1 高可用與安全概述 226
8.2 DoS/DDos攻擊 227
8.2.1 DoS攻擊概述 227
8.2.2 DDoS攻擊的類型 227
8.2.3 DoS/DDoS攻擊防護 229
8.3 安全產品/工具 230
8.3.1 WAF概述 230
8.3.2 WAF的工作模式 231
8.3.3 Nginx + ModSecurity 233
8.3.4 云廠商安全產品 235
第9章 秒殺系統案例 236
9.1 什么是秒殺 236
9.2 *簡單的秒殺系統 237
9.3 業務層面控制 238
9.4 CDN靜態資源緩存 239
9.5 LVS/Nginx高可用設計 240
9.6 服務拆分與隔離設計 241
9.7 流量削峰、限流和降級 243
9.8 熱點數據處理 246
9.9 核心的減庫存 248
9.10 容災 254
9.11 秒殺系統安全架構 255
參考文獻 258
分布式高可用架構之道 作者簡介
黃文毅,架構師,從業8年,先后就職于上海美團、廈門美圖和海西醫藥等公司,負責后端開發工作。出版包括《分布式微服務架構:原理與實踐》、《Spring 5企業級開發實戰》(與人合著)、《Spring MVC+MyBatis快速開發與項目實戰》等圖書。 趙定益,曾職于多家上市公司及互聯網獨角獸企業并負責核心研發團隊管理及平臺總體架構設計,擅長互聯網系統架構設計和分布式研發團隊管理,多次從0到1到N主導完成醫藥交易、跨境電商、內容與知識付費、物聯網相關領域產品應用架構設計、系統開發及線上運營。
- >
伯納黛特,你要去哪(2021新版)
- >
唐代進士錄
- >
我與地壇
- >
伊索寓言-世界文學名著典藏-全譯本
- >
大紅狗在馬戲團-大紅狗克里弗-助人
- >
月亮與六便士
- >
月亮虎
- >
詩經-先民的歌唱