79.00
曆時三年終到稿,還未讀完初稿,就知道《架構解密:從分布式到微服務》將是一本,書。
從傳統分布式架構遷移到基於容器技術的微服務架構,這本就是百談不厭的話題。
更彆提內容涉及Microservices、Kubernetes、SOA、Distribute Memory、ElasticSearch、Kafka、CAP、NUMA、SOA、GlusterFS、Actor、Akka、RabbitMQ、Spring Cloud、ZeroC Ice……
Leader-us的文字還是那樣充滿IT情懷和抱負,也一如既往地流暢和通俗易懂。
一個很復雜的問題,經過Leader-us一個調侃就變得簡單化。
一個看似很簡單的問題,Leader-us卻總能深入到幕後,包括獨有的數據和原理講解,一手的資料啊有木有,世上難買啊有木有,很珍貴啊有木有!
Leader-us調侃道:“《架構解密:從分布式到微服務》是一本代碼級吹水架構師必備讀物,從此360°無死角吹水,絕地反擊,打敗純吹水派架構師”,讓我們拭目以待。分布式架構與微服務平颱是當今IT界的關鍵技術,也是資深軟件工程師和係統架構師必須掌握的核心技術。《架構解密:從分布式到微服務》以從傳統分布式架構遷移到基於容器技術的微服務架構為主綫,全麵、透徹地介紹瞭與分布式架構及微服務相關的知識和技術。《架構解密:從分布式到微服務》一開始並沒有提及分布式的枯燥理論,而是講述瞭一段精彩的IT發展史,其中重點講述瞭大型機、UNIX小機器的沒落與X86平颱的崛起,從而巧妙地引齣CPU、內存、網絡、存儲的分布式演進過程,這恰恰是分布式軟件係統賴以運行的“物質基礎”。然後簡明扼要地介紹瞭進行係統架構所必需的網絡基礎,並詳細介紹瞭分布式係統中的**理論、設計套路及RPC通信,對內存、SOA架構、分布式存儲、分布式計算等進行瞭深度解析,·後詳細介紹瞭全文檢索與消息隊列中間件,以及微服務架構所涉及的重點內容。
《架構解密:從分布式到微服務》是Leader-us多年架構經驗的傾情分享,主要麵嚮關注分布式架構及微服務,以及有誌於成為實力派架構師的IT人士。Leader-us,本名吳治輝,惠普資深軟件架構師,國內知名開源分布式數據庫中間件 Mycat的發起人,精通Java編程,擁有超過16年軟件研發經驗,專注於電信和雲計算方麵的軟件研發,參與過眾多分布式與雲計算相關的大型項目架構設計和 Coding,是業界少有的具備很強 Coding 能力的 S級資深架構師;曾經選拔和培養瞭大批**Java工程師,他們中的大多數人進入知名軟件公司參與核心研發,也有一些人選擇創業。
Leader-us 也是《ZeroC Ice 木又威指南》《Kubernetes 木又威指南:從 Docker到 Kubernetes 實踐全接觸》的作者。第1章 大話分布式係統 1
1.1 IT爭霸戰 1
1.1.1 劃時代的,颱計算機 1
1.1.2 IT界的恐龍時代 4
1.1.3 貴族的沒落與平民的勝利 6
1.1.4 ARM新貴的爆發 10
1.1.5 超級計算機的絕地反擊 11
1.2 分布式係統的開國元勛 13
1.3 分布式係統的基石:TCP/IP 17
1.4 從無奈到崛起的CDN網 19
1.5 這是一個·好的時代 21
第2章 “知識木桶”中的短闆—— 網絡基礎 23
2.1 即使高手也不大懂的網絡 23
2.2 NIO,一本難念的經 30
2.2.1 難懂的ByteBuffer 30
2.2.2 晦澀的“非阻塞” 39
2.2.3 復雜的Reactor模型 41
2.3 AIO,大道至簡的設計與苦澀的現實 45
2.4 網絡傳輸中的對象序列化問題 50
第3章 分布式係統的**基礎理論 55
3.1 從分布式係統的設計理念說起 55
3.2 分布式係統的一緻性原理 58
3.3 分布式係統的基石之ZooKeeper 61
3.3.1 ZooKeeper的原理與功能 61
3.3.2 ZooKeeper的場景案例分析 65
3.4 **的CA理論 69
3.5 BASE準則,一個影響深遠的指導思想 72
3.6 重新認識分布式事務 73
3.6.1 數據庫單機事務的實現原理 73
3.6.2 **的X/OpenDTP事務模型 75
3.6.3 互聯網中的分布式事務解決方案 78
第4章 聊聊RPC 83
4.1 從IPC通信說起 83
4.2 古老又有生命力的RPC 85
4.3 從RPC到服務治理框架 91
4.4 基於ZeroC Ice的微服務架構指南 94
4.4.1 微服務架構概述 95
4.4.2 ZeroC Ice微服務架構指南 100
第5章 深入淺析內存 107
5.1 你所不知道的內存知識 107
5.1.1 復雜的CPU與單純的內存 107
5.1.2 多核CPU與內存共享的問題 110
5.1.3 著名的Cache僞共享問題 113
5.1.4 深入理解不一緻性內存 115
5.2 內存計算技術的前世今生 118
5.3 內存緩存技術分析 123
5.3.1 緩存概述 123
5.3.2 緩存實現的幾種方式 125
5.3.3 學習Memcache的內存管理技術 127
5.3.4 Redis的獨特之處 129
5.4 內存計算産品分析 131
5.4.1 SAP HANA 131
5.4.2 Hazelcast 133
5.4.3 VoltDB 135
第6章 深入解析分布式存儲 138
6.1 數據存儲進化史 138
6.2 **的網絡文件係統NFS 145
6.3 高性能計算領域的分布式文件係統 148
6.4 企業級分布式文件係統GlusterFS 150
6.5 創新的Linux分布式存儲係統—— Ceph 153
6.6 軟件定義存儲 160
第7章 聊聊分布式計算 166
7.1 不得不說的Actor模型 166
7.2 Actor原理與實踐 170
7.3 初識Akka 177
7.4 適用麵很廣的Storm 185
7.5 MapReduce及其引發的新世界 194
第8章 全文檢索與消息隊列中間件 201
8.1 全文檢索 201
8.1.1 什麼是全文檢索 201
8.1.2 起於Lucene 202
8.1.3 Solr 206
8.1.4 ElasticSearch 209
8.2 消息隊列 217
8.2.1 消息隊列概述 217
8.2.2 JEE專屬的JMS 221
8.2.3 生生不息的ActiveMQ 226
8.2.4 RabbitMQ 231
8.2.5 Kafka 238
第9章 微服務架構 244
9.1 微服務架構概述 244
9.1.1 微服務架構興起的原因 244
9.1.2 不得不提的容器技術 246
9.1.3 如何全麵理解微服務架構 249
9.2 幾種常見的微服務架構方案 253
9.2.1 ZeroC IceGrid微服務架構 253
9.2.2 Spring Cloud微服務架構 256
9.2.3 基於消息隊列的微服務架構 259
9.2.4 Docker Swarm微服務架構 261
9.3 深入Kubernetes微服務平颱 263
9.3.1 Kubernetes的概念與功能 263
9.3.2 Kubernetes的組成與原理 268
9.3.3 基於Kubernetes的PaaS平颱
(作者)
第1章 分布式微服務架構設計原理 1
1.1 從傳統單體架構到服務化架構 2
1.1.1 JEE架構 2
1.1.2 SSH架構 5
1.1.3 服務化架構 8
1.2 從服務化到微服務 11
1.2.1 微服務架構的産生 12
1.2.2 微服務架構與傳統單體架構的對比 13
1.2.3 微服務架構與SOA服務化的對比 15
1.3 微服務架構的核心要點和實現原理 16
1.3.1 微服務架構中職能團隊的劃分 16
1.3.2 微服務的去中心化治理 18
1.3.3 微服務的交互模式 18
1.3.4 微服務的分解和組閤模式 22
1.3.5 微服務的容錯模式 35
1.3.6 微服務的粒度 41
1.4 Java平颱微服務架構的項目組織形式 42
1.4.1 微服務項目的依賴關係 42
1.4.2 微服務項目的層級結構 43
1.4.3 微服務項目的持續發布 45
1.5 服務化管理和治理框架的技術選型 45
1.5.1 RPC 46
1.5.2 服務化 47
1.5.3 微服務 49
1.6 本章小結 52
第2章 徹底解決分布式係統一緻性的問題 54
2.1 什麼是一緻性 55
2.2 一緻性問題 56
2.3 解決一緻性問題的模式和思路 57
2.3.1 酸堿平衡理論 58
2.3.2 分布式一緻性協議 61
2.3.3 保證終一緻性的模式 67
2.4 超時處理模式 75
2.4.1 微服務的交互模式 76
2.4.2 同步與異步的抉擇 77
2.4.3 交互模式下超時問題的解決方案 78
2.4.4 超時補償的原則 85
2.5 遷移開關的設計 87
2.6 本章小結 88
第3章 服務化係統容量評估和性能保障 89
3.1 架構設計與非功能質量 90
3.2 全麵的非功能質量需求 91
3.2.1 非功能質量需求的概述 91
3.2.2 非功能質量需求的具體指標 92
3.3 典型的技術評審提綱 97
3.3.1 現狀 97
3.3.2 需求 98
3.3.3 方案描述 98
3.3.4 方案對比 99
3.3.5 風險評估 100
3.3.6 工作量評估 100
3.4 性能和容量評估**案例 100
3.4.1 背景 100
3.4.2 目標數據量級 101
3.4.3 量級評估標準 101
3.4.4 方案 102
3.4.5 小結 107
3.5 性能評估參考標準 108
3.5.1 常用的應用層性能指標參考標準 108
3.5.2 常用的係統層性能指標參考標準 109
3.6 性能測試方案的設計和佳實踐 112
3.6.1 明確壓測目標 112
3.6.2 壓測場景設計和壓測方案製定 114
3.6.3 準備壓測環境 121
3.6.4 壓測的執行 122
3.6.5 問題修復和係統優化 123
3.7 有用的壓測工具 123
3.7.1 ab 123
3.7.2 jmeter 125
3.7.3 mysqlslap 125
3.7.4 sysbench 129
3.7.5 dd 134
3.7.6 LoadRunner 135
3.7.7 hprof 136
3.8 本章小結 138
第4章 大數據日誌係統的構建 140
4.1 開源日誌框架的原理分析與應用實踐 142
4.1.1 JDK Logger 142
4.1.2 Apache Commons Logging 143
4.1.3 Apache Log4j 147
4.1.4 Slf4j 156
4.1.5 Logback 160
4.1.6 Apache Log4j 2 164
4.2 日誌係統的優化和佳實踐 168
4.2.1 開發人員的日誌意識 168
4.2.2 日誌級彆的設置 168
4.2.3 日誌的數量和大小 169
4.2.4 切割方式 170
4.2.5 日誌格式的配置 170
4.2.6 一行日誌導緻的綫上事故 177
4.3 大數據日誌係統的原理與設計 178
4.3.1 通用架構和設計 179
4.3.2 日誌采集器 180
4.3.3 日誌緩衝隊列 186
4.3.4 日誌解析器 187
4.3.5 日誌存儲和搜索 187
4.3.6 日誌展示係統 188
4.3.7 監控和報警 188
4.3.8 日誌係統的容量和性能評估 188
4.4 ELK係統的構建與使用 190
4.4.1 Elasticsearch 191
4.4.2 Logstash 193
4.4.3 Kibana 196
4.5 本章小結 198
第5章 基於調用鏈的服務治理係統的設計與實現 199
5.1 APM係統簡介 200
5.1.1 **的開源APM係統 200
5.1.2 國內商業APM産品的介紹 202
5.2 調用鏈跟蹤的原理 203
5.2.1 分布式係統的遠程調用過程 204
5.2.2 TraceID 207
5.2.3 SpanID 208
5.2.4 業務鏈 210
5.3 調用鏈跟蹤係統的設計與實現 211
5.3.1 整體架構 211
5.3.2 TraceID和SpanID在服務間的傳遞 213
5.3.3 采集器的設計與實現 217
5.3.4 處理器的設計與實現 222
5.3.5 調用鏈係統的展示 225
5.4 本章小結 226
第6章 Java服務的綫上應急和技術攻關 227
6.1 海恩法則和墨菲定律 227
6.2 綫上應急的目標、原則和方法 229
6.2.1 應急目標 229
6.2.2 應急原則 229
6.2.3 綫上應急的方法和流程 230
6.3 技術攻關的方法論 233
6.4 環境搭建和示例服務啓動 236
6.5 高效的服務化治理腳本 240
6.5.1 show-busiest-java-threads 240
6.5.2 find-in-jar 243
6.5.3 grep-in-jar 244
6.5.4 jar-conflict-detect 245
6.5.5 http-spy 247
6.5.6 show-mysql-qps 248
6.5.7 小結 249
6.6 JVM提供的監控命令 249
6.6.1 jad 249
6.6.2 btrace 250
6.6.3 jmap 252
6.6.4 jstat 255
6.6.5 jstack 256
6.6.6 jinfo 258
6.6.7 其他命令 258
6.6.8 小結 259
6.7 重要的Linux基礎命令 260
6.7.1 必不可少的基礎命令和工具 260
6.7.2 查看活動進程的命令 268
6.7.3 窺探內存的命令 270
6.7.4 針對CPU使用情況的監控命令 272
6.7.5 監控磁盤I/O的命令 273
6.7.6 查看網絡信息和網絡監控命令 275
6.7.7 Linux係統的高級工具 287
6.7.8 /proc文件係統 288
6.7.9 摘要命令 288
6.7.10 小結 290
6.8 現實中的應急和攻關案例 291
6.8.1 一次OOM事故的分析和定位 291
6.8.2 一次CPU 100%的綫上事故排查 301
6.9 本章小結 304
第7章 服務的容器化過程 306
7.1 容器vs虛擬機 306
7.1.1 什麼是虛擬機 306
7.1.2 什麼是容器 306
7.1.3 容器和虛擬機的區彆 307
7.1.4 容器主要解決的問題 307
7.1.5 Docker的優勢 310
7.2 Docker實戰 311
7.2.1 Docker的架構 311
7.2.2 Docker的安裝 315
7.2.3 Docker初體驗 319
7.2.4 Docker後颱服務的管理 322
7.2.5 Docker的客戶端命令 328
7.2.6 Docker Compose編排工具的使用 372
7.3 容器化項目 379
7.3.1 傳統的應用部署 380
7.3.2 將應用程序部署在虛擬機上 380
7.3.3 容器化部署應用 381
7.3.4 Docker實現的應用容器化示例 382
7.4 本章小結 384
评分
评分
评分
评分
评分
评分
评分
评分
本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有