分佈式系統常用技術及案例分析 分布式系统常用技术及案例分析
柳偉衛
- 出版商: 電子工業
- 出版日期: 2017-02-01
- 售價: $594
- 語言: 簡體中文
- 頁數: 685
- 裝訂: 平裝
- ISBN: 7121307715
- ISBN-13: 9787121307713
-
相關分類:
分散式架構、Microservices 微服務
-
相關翻譯:
巨型公司的網路架構 -- 分散式系統內部解密 (繁中版)
下單後立即進貨 (約4週~6週)
買這商品的人也買了...
-
深入淺出物件導向分析與設計 (Head First Object-Oriented Analysis and Design)$880$695 -
$768代碼大全, 2/e (Code Complete: A Practical Handbook of Software Construction, 2/e) -
重構─改善既有程式的設計, 2/e (Refactoring: Improving The Design of Existing Code)$800$632 -
精通 Python 3 程式設計, 2/e (Programming in Python 3: A Complete Introduction to the Python Language, 2/e)$680$537 -
架構之美-頂尖架構師於軟體設計中蘊含的智慧結晶 (Beautiful Architecture)$580$458 -
Effective JavaScript 中文版 | 駕馭 JavaScript 的 68 個具體作法 (Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript)$450$356 -
笑談軟體工程:例外處理設計的逆襲$580$458 -
從車庫的舊 PC 到百萬台伺服器-巨型網站成長從無到無限大,技術架構大揭祕-最棒的「秒殺」網站設計實例$480$408 -
ASP.NET Web API 2: Building a REST Service from Start to Finish, 2/e (Paperback)$2,920$2,774 -
Continuous Delivery 中文版:利用自動化的建置、測試與部署完美創造出可信賴的軟體發佈 (Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation)$650$507 -
Effective Python 中文版 | 寫出良好 Python 程式的 59 個具體做法 (Effective Python: 59 Specific Ways to Write Better Python)$450$356 -
精通 Python|運用簡單的套件進行現代運算 (Introducing Python: Modern Computing in Simple Packages)$780$616 -
Redis 實戰$414$393 -
$354Selenium 2自動化測試實戰—基於 Python 語言 -
建構微服務|設計細微化的系統 (Building Microservices)$580$458 -
不止是測試:Python 網路爬蟲王者 Selenium$560$476 -
Effective Debugging 中文版 | 軟體與系統除錯的 66 個具體作法 (Effective Debugging: 66 Specific Ways to Debug Software and Systems) (書況略舊,不介意在下單)$450$383 -
Windows Azure WebSites 雲端運算平台開發實戰解析$540$459 -
$403TensorFlow 實戰 -
$354Web 接口開發與自動化測試 — 基於 Python 語言 -
無瑕的程式碼-敏捷完整篇-物件導向原則、設計模式與 C# 實踐 (Agile principles, patterns, and practices in C#)$790$616 -
Effective C# 中文版 | 寫出良好 C# 程式的 50個具體做法, 3/e (Effective C# : 50 Specific Ways to Improve Your C#(Covers C# 6.0), 3/e)$450$356 -
Effective SQL 中文版 | 寫出良好 SQL 的 61個具體做法 (Effective SQL : 61 Specific Ways to Write Better SQL)$450$356 -
$390Serverless架構:無服務器單頁應用開發 ( The serverless single page apps: fast, scalable, and available) -
巨型公司的網路架構 -- 分散式系統內部解密$760$646
相關主題
商品描述
本書分為三大部分,即分佈式系統基礎理論、分佈式系統常用技術以及經典的分佈式系統案例分析。第一部分主要介紹分佈式系統基礎理論知識,總結一些在設計分佈式系統時需要考慮的範式、知識點以及可能會面臨的問題,其中包括線程、通信、一致性、容錯性、CAP 理論、安全性和並發等相關內容;同時講述分佈式系統的常見架構體系,其中也包括最近比較火的RESTful 風格架構、微服務、容器技術等。第二部分主要列舉了在分佈式系統應用中經常用到的一些主流技術,並介紹這些技術的作用和用法;這些技術涵蓋了分佈式消息服務、分佈式計算、分佈式存儲、分佈式監控系統、分佈式版本控制、RESTful、微服務、容器等領域的內容。第三部分選舉了以Twitter 為代表的國內外知名因特網企業的大型分佈式系統案例,分析其架構設計以及演變過程;這部分相當於是對第二部分零散的技術點做一個“串燒”,讓讀者可以結合技術的理論,看到實戰的效果。
目錄大綱
第1章 分佈式系統基礎知識1
1.1概述2
1.1.1什麼是分佈式系統2
1.1.2集中式系統VS.分佈式系統3
1.1.3如何設計分佈式系統4
1.1.4分佈式系統所面臨的挑戰5
1.2線程6
1.2.1什麼是線程6
1.2.2進程和線程7
1.2.3編程語言中的線程對象8
1.2.4SimpleThreads示例11
1.3通信14
1.3.1網絡基礎知識14
1.3.2網絡I /O模型的演進19
1.3.3遠程過程調用(RPC)33
1.3.4面向消息的通信41
1.4一致性43
1.4.1以數據為中心的一致性模型44
1.4.2以客戶為中心的一致性45
1.5容錯性46
1.5.1基本概念46
1.5.2故障分類47
1.5.3使用冗餘來掩蓋故障48
1.5.4分佈式提交48
1.6CAP理論52
1.6.1什麼是CAP理論52
1.6.2為什麼說CAP只能三選二53
1.6.3CAP常見模型55
1.6.4CAP的意義56
1.6.5CAP最新發展56
1.7安全性57
1.7.1基本概念58
1.7.2加密算法60
1.7.3安全通道63
1.7. 4訪問控制72
1.8並發74
1.8.1線程與並發75
1.8.2並發與並行75
1.8.3並髮帶來的風險76
1.8.4同步(Synchronization)78
1.8.5原子訪問(Atomic Access)83
第2章 分佈式系統架構體系85
2.1基於對象的體系結構86
2.1.1分佈式對象86
2.1.2微軟DCOM(COM+)87
2.1.3CORBA88
2.1.4JavaRMI90
2.2面向服務的架構(SOA)93
2.2.1架構VS .標準94
2.2.2SOA的基本概念95
2.2.3基於Web Services的SOA97
2.2.4SOA的演變112
2.3REST風格的架構112
2.3.1什麼是REST112
2.3.2REST有哪些特徵113
2.3.3Java實現REST的例子115
2.3.4RESTAPI最佳實踐125
2.4微服務架構(MSA)128
2.4.1什麼是MSA128
2.4.2MSAVS.SOA130
2.4.3何時採用MSA134
2.4.4如何構建微服務135
2.5容器技術139
2.5.1虛擬化技術139
2.5.2容器VS.虛擬機139
2.5.3基於容器的持續部署142
2.6Serverless架構149
2.6.1什麼是Serverless架構150
2.6.2Serverless典型的應用場景151
2.6.3常見的Serverless框架153
2.6 .4Serverless架構原則155
2.6.5例子:使用Serverless實現遊戲全球同服157
第3章 分佈式消息服務164
3.1Apache ActiveMQ165
3.1.1Apache ActiveMQ簡介165
3.1.2Apache ActiveMQ安裝配置166
3.1.3例子:producer—consumer173
3.1.4例子:使用JMX來監控ActiveMQ174
3.1.5例子:使用Java實現producer—consumer176
3.2RabbitMQ180
3.2.1RabbitMQ簡介180
3.2.2RabbitMQ安裝配置181
3.2.3例子:WorkQueues185
3.2.4例子:Publish/Subscribe191
3.2. 5例子:Routing195
3.2.6例子:Topics200
3.2.7例子:RPC204
3.3RocketMQ210
3.3.1RocketMQ簡介210
3.3.2RocketMQ安裝配置213
3.3.3例子:使用Java實現producer—consumer214
3.3.4RocketMQ最佳實踐219
3.4ApacheKafka223
3.4 .1ApacheKafka簡介224
3.4.2ApacheKafka的核心概念225
3.4.3ApacheKafka的使用場景228
3.4.4ApacheKafka的安裝、配置、使用229
第4章 分佈式計算236
4.1MapReduce237
4.1.1MapReduce簡介237
4.1.2MapReduce的編程模型238
4.1 .3MapReduce的實現243
4.1.4MapReduce的使用技巧248
4.2Apache Hadoop251
4.2.1Apache Hadoop簡介252
4.2.2Apache Hadoop核心組件253
4.2.3Apache Hadoop單節點上的安裝配置254
4.2.4Apache Hadoop集群上的安裝配置258
4.2 .5例子:詞頻統計WordCount程序267
4.3Apache Spark272
4.3.1Apache Spark簡介272
4.3.2Apache Spark與Apache Hadoop的關係274
4.3.3Apache Spark2.0的新特性275
4.3.4Apache Spark的安裝和使用279
4.3.5Apache Spark集群模式280
4.4ApacheMesos282
4.4.1Apache Mesos簡介283
4.4.2Apache Mesos的安裝、使用285
4.4.3設計高可用的Mesosframework289
第5章 分佈式存儲
第6章 分佈式監控
第7章 分佈式版本控制系統
第8章 RESTful API、微服務及容器技術
第9章 淘寶網:“雙11”神話的締造者
第10章 Twitter:實時信息傳遞的王者
參考文獻
