目前无货。
欢迎选购其他类似产品。
前翻 后翻
正在播放... 已暂停   您正在聆听的 Audible 音频版本的样品。
了解更多信息
查看此图片

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

|
|
分享
广告

显示所有 格式和版本 隐藏其他格式和版本
亚马逊价格
全新品最低价 非全新品最低价
 

click to open popover

无需Kindle设备,下载免费Kindle阅读软件,即可在您的手机、电脑及平板电脑上畅享阅读。

  • 点击此处下载Kindle iOS阅读软件
    iPhone/iPad/Mac
  • 点击此处下载Kindle Android阅读软件
    Android手机或平板电脑

请输入您的手机号码,获取Kindle阅读软件的下载链接。

kcpAppSendButton


基本信息

  • 出版社: 电子工业出版社; 第1版 (2017年1月1日)
  • 平装: 1页
  • 语种: 简体中文
  • 开本: 16
  • ISBN: 7121307715
  • 条形码: 9787121307713
  • 商品尺寸: 23 x 18.4 x 3.2 cm
  • 商品重量: 1.1 Kg
  • ASIN: B06X3RJMGC
  • 用户评分: 平均 1.9 星 4 条商品评论
  • 您想告诉我们您发现了更低的价格?

商品描述

编辑推荐

本书的内容比较全面,涵盖分布式系统基础理论、常用技术以及经典的案例分析。全书篇幅较多,对分布式系统中的线程、通信、一致性、容错性、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:实时信息传递的王者
参考文献

序言

前 言


写作背景
我一直想写一本关于分布式系统方面的书。一方面是想把个人多年工作中涉及的分布式技术做一下总结,另一方面也想把个人的经验分享给广大的读者朋友。由于我的开发工作大都以Java为主,所以一开始的主题设想是“分布式Java”,书也以开源方式发布在互联网上。
后来,陈晓猛编辑看到了这本开源书,以及我关于分布式系统方面的博文,问我是否有兴趣出版分布式相关题材的图书。当然书的内容不仅仅是“分布式Java”。
对于出书一事,我犹豫良久。首先,本身工作挺忙,实在无暇顾及其他;其次,虽然我之前写过超过一打的书籍,但多是开源电子书,时间、内容方面自然也就不会有太多约束,几乎是“想写就写,没有时间就不写”,这个跟正式出版还是存在比较大的差异的;最后,这本书涉及面相对较广,需要查阅大量资料,实在是太耗费精力。
但陈晓猛编辑还是鼓励我能够去尝试做这个事情。思索再三,于是我便答应。当然,最后这本书还是在规定时间内完成了。它几乎耗尽了我写作期间所有的业余和休息时间。
“不积跬步,无以至千里;不积小流,无以成江海。”虽然整本书从构思到编写完成的时间不足一年,但书中的大部分知识点,却是我在多年的学习、工作中积累下来的。之所以能够实现快速写作,一方面是做了比较严格的时间管理,另一方面也得益于我多年坚持写博客和开源书的习惯。
内容介绍
本书分为三大部分,即分布式系统基础理论、分布式系统常用技术以及经典的分布式系统案例分析。第一部分为第1章和第2章,主要介绍分布式系统基础理论知识,总结一些在设计分布式系统时需要考虑的范式、知识点以及可能会面临的问题。 第二部分为第3章到第8章,主要列举了在分布式系统应用中经常用到的一些主流技术,并介绍这些技术的作用和用法。第三部分为第9章和第10章,选取了以淘 宝网和Twitter为代表的国内外知名互联网企业的大型分布式系统案例,分析其架构设计以及演变过程。
第1章介绍分布式系统基础理论知识,总结一些在设计分布式系统时需要考虑的范式、知识点以及可能会面临的问题,其中包括线程、通信、一致性、容错性、CAP理论、安全性和并发等相关内容。
第2章详细介绍分布式系统的架构体系,包括传统的基于对象的体系结构、SOA,也包括最近比较火的RESTful风格架构、微服务、容器技术、Serverless架构等。
第3章介绍常用的分布式消息服务框架,包括Apache ActiveMQ、RabbitMQ、RocketMQ、Apache Kafka等。
第4章介绍分布式计算理论和应用框架方面的内容,包括MapReduce、Apache Hadoop、Apache Spark、Apache Mesos 等。
第5章介绍分布式存储理论和应用框架方面的内容,包括Bigtable、Apache HBase、Apache Cassandra、Memcached、Redis、MongoDB等。
第6章介绍分布式监控方面常用的技术,包括Nagios、Zabbix、Consul、ZooKeeper等。
第7章介绍常用的分布式版本控制工具,包括Bazaar、Mercurial、Git等。
第8章介绍RESTful API、微服务及容器相关的技术,着重介绍Jersey、Spring Boot、Docker等技术的应用。
第9章和第10章分别介绍以淘 宝网和Twitter为代表的国内外知名互联网企业的大型分布式系统案例,分析其架构设计以及演变过程。
源代码
本书提供源代码下载

致谢
首先,感谢电子工业出版社博文视点公司的陈晓猛编辑,是您鼓励我将本书付诸成册,并在我写作过程中审阅了大量稿件,给予了我很多指导和帮助。感谢工作在幕后的电子工业出版社评审团队对于本书在校对、排版、审核、封面设计、错误改进方面所给予的帮助,使本书得以顺利出版发行。
其次,感谢在我十几年求学生涯中教育过我的所有老师。是你们将知识和学习方法传递给了我。感谢我曾经工作过的公司和单位,感谢和我一起共事过的同事和战友,你们的优秀一直是我追逐的目标,你们所给予的压力正是我不断改进自己的动力。
感谢我的父母、妻子Funny和两个女儿。由于撰写本书,牺牲了很多陪伴家人的时间。感谢你们对于我工作的理解和支持。
最后,特别要感谢这个时代,互联网让所有人可以公平地享受这个时代的成果。感谢那些为计算机、互联网所做出贡献的先驱,是你们让我可以站在更高的“肩膀”上!感谢那些为本书提供灵感的佳作,包括《分布式系统原理与范式》《Unix Network Programming》《Enterprise SOA》《MapReduce Design Patterns》《Hadoop: The Definitive Guide》《Learning Hbase》《Advanced Analytics with Spark》《Pro Git》《Docker in Action》《淘 宝技术这十年》《Hatching Twitter》,等等,详细的书单可以参阅本书最后的“参考文献”部分。

柳伟卫
2016年11月13日于杭州

文摘

版权页:



插图:



2.5.3基于容器的持续部署
随着Docker等容器技术的纷纷涌现及开源发布,软件开发行业对于现代化应用的打包以及部署方式发生了巨大的变化。想象下在没有容器等虚拟化技术的年代,程序经常需要手工部署和测试,这种工作极其烦琐且容易出错,特别是服务器数量多的时候,重复性的工作总是令人厌烦。由于开发环境、测试环境以及最终的生产环境的不一致,同样的程序,有可能在不同的环境出现不同问题,所以经常会出现开发人员和测试人员“扯皮”的事。开发机上没有出现问题,部署到测试服务器上就出问题了。
现在就来介绍一下如何基于容器来实现持续部署上面提到的种种问题。
1持续部署管道
持续部署管道( continuous—deployment pipeline)是指在每次代码提交时会执行的一系列步骤。管道的目的是执行一系列任务,将一个经过完整测试的功能性服务或应用部署至生产环境。唯 一一个手工操作就是向代码仓库执行一次签入操作,之后的所有步骤都是自动完成的。这种流程可以在一定程度上消除人为产生错误的因素,从而增加可靠性。并且可让机器完成它们最擅长的工作——运行重复性的过程,而不是创新性思考,从而增加了系统的吞吐量。之所以每次提交都需要通过这个管道,原因就在于“持续”这个词。如果选择延迟这一过程的执行,例如在某个Sprint结束前再运行,那么整个测试与部署过程都不再是持续的—。


无顾客评论

5 星 (0%) 0%
4 星 (0%) 0%
3 星 (0%) 0%
2 星 (0%) 0%
1 星 (0%) 0%

评论该商品

与其他买家分享您的想法