分布式系统常用技术及案例分析

出版日期:2017-2
ISBN:9787121307715
作者:柳伟卫
页数:700页

作者简介

《分布式系统常用技术及案例分析》全面介绍在设计分布式系统时所要考虑的技术方案,内容丰富、案例新颖,相关理论与技术实践较为前瞻。《分布式系统常用技术及案例分析》不仅仅介绍了分布式系统的原理、基础理论,同时还引入了大量市面上常用的最新分布式系统技术,不仅告诉读者怎么用,同时也分析了为什么这么用,并阐述了这些技术的优缺点。希望《分布式系统常用技术及案例分析》可以成为读者案头的工具书,供读者随手翻阅。
《分布式系统常用技术及案例分析》分为三大部分,即分布式系统基础理论、分布式系统常用技术以及经典的分布式系统案例分析。第一部分主要介绍分布式系统基础理论知识,总结一些在设计分布式系统时需要考虑的范式、知识点以及可能会面临的问题,其中包括线程、通信、一致性、容错性、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.4 SimpleThreads示例
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.6 CAP理论
52
1.6.1 什么是CAP理论
52
1.6.2 为什么说CAP只能三选二
53
1.6.3 CAP常见模型
55
1.6.4 CAP的意义
56
1.6.5 CAP最新发展
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.3 CORBA
88
2.1.4 Java RMI
90
2.2 面向服务的架构(SOA)
93
2.2.1 架构VS.标准
94
2.2.2 SOA的基本概念
95
2.2.3 基于Web Services的SOA
97
2.2.4 SOA的演变
112
2.3 REST风格的架构
112
2.3.1 什么是REST
112
2.3.2 REST有哪些特征
113
2.3.3 Java实现REST的例子
115
2.3.4 REST API最佳实践
125
2.4 微服务架构(MSA)
128
2.4.1 什么是MSA
128
2.4.2 MSA VS. SOA
130
2.4.3 何时采用MSA
134
2.4.4 如何构建微服务
135
2.5 容器技术
139
2.5.1 虚拟化技术
139
2.5.2 容器VS.虚拟机
139
2.5.3 基于容器的持续部署
142
2.6 Serverless架构
149
2.6.1 什么是Serverless架构
150
2.6.2 Serverless典型的应用场景
151
2.6.3 常见的Serverless框架
153
2.6.4 Serverless架构原则
155
2.6.5 例子:使用Serverless实现游戏全球同服
157
第3章 分布式消息服务
164
3.1 Apache ActiveMQ
165
3.1.1 Apache ActiveMQ简介
165
3.1.2 Apache ActiveMQ安装配置
166
3.1.3 例子:producer-consumer
173
3.1.4 例子:使用JMX来监控ActiveMQ
174
3.1.5 例子:使用Java实现producer-consumer
176
3.2 RabbitMQ
180
3.2.1 RabbitMQ简介
180
3.2.2 RabbitMQ安装配置
181
3.2.3 例子:Work Queues
185
3.2.4 例子:Publish/Subscribe
191
3.2.5 例子:Routing
195
3.2.6 例子:Topics
200
3.2.7 例子:RPC
204
3.3 RocketMQ
210
3.3.1 RocketMQ简介
210
3.3.2 RocketMQ安装配置
213
3.3.3 例子:使用Java实现producer-consumer
214
3.3.4 RocketMQ最佳实践
219
3.4 Apache Kafka
223
3.4.1 Apache Kafka简介
224
3.4.2 Apache Kafka的核心概念
225
3.4.3 Apache Kafka的使用场景
228
3.4.4 Apache Kafka的安装、配置、使用
229
第4章 分布式计算
236
4.1 MapReduce
237
4.1.1 MapReduce简介
237
4.1.2 MapReduce的编程模型
238
4.1.3 MapReduce的实现
243
4.1.4 MapReduce的使用技巧
248
4.2 Apache Hadoop
251
4.2.1 Apache Hadoop简介
252
4.2.2 Apache Hadoop核心组件
253
4.2.3 Apache Hadoop单节点上的安装配置
254
4.2.4 Apache Hadoop集群上的安装配置
258
4.2.5 例子:词频统计WordCount程序
267
4.3 Apache Spark
272
4.3.1 Apache Spark简介
272
4.3.2 Apache Spark与Apache Hadoop的关系
274
4.3.3 Apache Spark 2.0的新特性
275
4.3.4 Apache Spark的安装和使用
279
4.3.5 Apache Spark集群模式
280
4.4 Apache Mesos
282
4.4.1 Apache Mesos简介
283
4.4.2 Apache Mesos的安装、使用
285
4.4.3 设计高可用的Mesos framework
289
第5章 分布式存储
296
5.1 Bigtable
297
5.1.1 Bigtable简介
297
5.1.2 Bigtable的数据模型
298
5.1.3 Bigtable的实现
300
5.1.4 Bigtable的性能优化
304
5.2 Apache HBase
308
5.2.1 Apache HBase简介
308
5.2.2 Apache HBase基本概念
310
5.2.3 Apache HBase架构
318
5.2.4 Apache HBase的安装、配置、使用
332
5.2.5 本地伪分布式
336
5.2.6 完全分布式
338
5.3 Apache Cassandra
342
5.3.1 Apache Cassandra简介
342
5.3.2 Apache Cassandra的应用场景
345
5.3.3 Apache Cassandra的架构、数据模型
346
5.3.4 用于配置Apache Cassandra的核心组件
347
5.3.5 Apache Cassandra的安装、配置、使用
349
5.4 Memcached
352
5.4.1 Memcached简介
352
5.4.2 Memcached的架构
353
5.4.3 Memcached的安装、使用
355
5.4.4 Memcached客户端
358
5.5 Redis
370
5.5.1 Redis简介
370
5.5.2 Redis的下载、安装、使用
372
5.5.3 Redis的数据类型及抽象
372
5.6 MongoDB
392
5.6.1 MongoDB简介
392
5.6.2 MongoDB的安装、配置、运行
394
5.6.3 MongoDB核心概念
401
5.6.4 MongoDB的数据模型
406
5.6.5 示例:Java连接MongoDB
420
第6章 分布式监控
422
6.1 Nagios
423
6.1.1 Nagios简介
423
6.1.2 Nagios的安装、使用
424
6.1.3 Nagios监控
428
6.1.4 Nagios插件
446
6.2 Zabbix
448
6.2.1 Zabbix简介
449
6.2.2 安装Zabbix
451
6.2.3 Zabbix对于容器的支持
460
6.2.4 Zabbix基本概念
463
6.3 Consul
474
6.3.1 Consul简介
475
6.3.2 Consul架构
476
6.3.3 Consul的安装和使用
478
6.3.4 Consul agent
492
6.4 ZooKeeper
501
6.4.1 ZooKeeper简介
501
6.4.2 ZooKeeper的安装和使用
505
6.4.3 ZooKeeper内部工作原理
509
6.4.4 例子:ZooKeeper实现barrier和producer-consumer queue
514
第7章 分布式版本控制系统
522
7.1 Bazaar
523
7.1.1 Bazaar简介
523
7.1.2 Bazaar的核心概念
525
7.1.3 Bazaar的安装
526
7.1.4 Bazaar的使用
528
7.2 Mercurial
533
7.2.1 Mercurial简介
533
7.2.2 Mercurial的核心概念
533
7.2.3 Mercurial的安装
537
7.2.4 Mercurial的使用
538
7.3 Git
545
7.3.1 Git简介
545
7.3.2 Git的安装
546
7.3.3 Git的基础概念
548
7.3.4 Git的使用
551
第8章 RESTful API、微服务及容器技术
578
8.1 Jersey
579
8.1.1 Jersey简介
579
8.1.2 Jersey的模块和依赖
580
8.1.3 JAX-RS核心概念
583
8.1.4 例子:用SSE构建实时Web应用
595
8.2 Spring Boot
603
8.2.1 Spring Boot简介
603
8.2.2 Spring Boot的安装
604
8.2.3 Spring Boot的使用
610
8.2.4 Spring Boot的属性与配置
615
8.3 Docker
620
8.3.1 Docker简介
621
8.3.2 Docker的特性
621
8.3.3 Docker的概念和原理
622
8.3.4 Docker Engine的安装
628
8.3.5 Docker的使用
633
第9章 淘宝网:“双11”神话的缔造者
636
9.1 从LAMP到Java平台的转变
637
9.1.1 淘宝网的诞生与发展
637
9.1.2 “平民英雄”LAMP架构
638
9.1.3 数据库更改为Oracle
639
9.1.4 向Java平台转变
642
9.2 坚定不移地走“去IOE”的道路
643
9.2.1 使用小型机、EMC存储
644
9.2.2 考虑“去IOE”
644
9.2.3 如何去“I”
646
9.2.4 如何去“O”
649
9.2.5 如何去“E”
650
9.3 打造云计算,决战“双11”
653
9.3.1 “大淘宝”战略简介
653
9.3.2 成立阿里云,专注云计算
656
9.3.3 利用大数据优化物流
660
9.3.4 技术是决胜“双11”的关键
661
第10章 Twitter:实时信息传递的王者
664
10.1 缓存,让响应更快
665
10.1.1 Twitter的诞生
665
10.1.2 RoR的蛮荒时代
666
10.1.3 使用Memcached
667
10.2 服务拆分与治理
668
10.2.1 关系数据库不是万灵药
668
10.2.2 系统拆分,平台转换
670
10.2.3 Finagle
670
10.3 抗击流量的洪流
672
10.3.1 业务的重新设计
673
10.3.2 Storm处理实时的大数据
675
10.3.3 从Storm到Heron
676
参考文献
680


 分布式系统常用技术及案例分析下载 精选章节试读



发布书评

 
 


精彩短评 (总计8条)

  •     你这水平也出书?
  •     本书的内容比较全面,涵盖分布式系统基础理论、常用技术以及经典的案例分析。全书篇幅较多,对分布式系统中的线程、通信、一致性、容错性、CAP理论、安全性、并发、RESTful风格架构、微服务、容器技术,以及分布式消息服务、分布式计算、分布式存储、分布式监控系统、分布式版本控制、RESTful、微服务等相关技术和知识点都作了详细的讲解,并辅以淘宝网和Twitter为代表的国内外知名互联网企业的大型分布式系统为案例,分析其架构设计以及演变过程,做到了理论和实践相结合。
  •     工具使用方法多,内容涉及面广。即适合对于分布式系统的初学者,对于老程序员,也可以作为随手翻阅的工具书。里面所介绍的技术,也比较新颖。喜欢最后面介绍淘宝网发展进程的文章~
  •     书很好,有深度,有广度,内容新颖,与时俱进,要慢慢学习。
  •     全是安装部署的东西,到处抄,不知道你们这种给五颗星的是怎么想的
  •     本书涉及面相当之广,可以说涵盖了在设计分布式系统时,所要考虑的大部分问题及解决方案。包括,分布式系统方面的范式、系统架构、计算、通信、存储、监控、版本控制以及 RESTful、微服务、容器技术、Serverless等等。最要命的是,作者写了超过一打的开源书(见https://waylau.com/books/),为开源事业贡献自己的力量!
  •     很不错的书,值得推荐
  •     在图书馆借过几本分布式的书但无一不内容晦涩,都是没看完就还了。相比之下,此书的作者更加用心,能够感觉得到作者在将解析清晰化上花了不少功夫,不至于像其他同类书那样纯粹堆砌术语、不把话说明白。作为纠结为在分布式系统道路上的小白,表示特需要这样有诚意的书。所以,五星推荐。THUMBS UP!
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024