Code Monkey home page Code Monkey logo

distributed-systems-technologies-and-cases-analysis's Introduction

《分布式系统常用技术及案例分析(第2版)》

再版序

时光荏苒,岁月匆匆,距离《分布式系统常用技术及案例分析》2017年2月第1版已经一载有余。热心的读者对于本书也投以了极大的关注,伴随着本书的成长,提了很多中肯的建议。对于这些意见,不管褒贬,一并全收,于是才有了第2版的可能。 对于技术型的书籍创作,笔者更加倾向于采用当今软件开发主流的方式——敏捷。敏捷写作打通了编写、校稿、出版、发行的整个流程,让知识可以第一时间呈现给读者。读者在阅读本书之后,也可以及时对书中的内容进行反馈,从而帮助作者完善书中内容,最终形成了良好的反馈闭环。所以,第2版所更新的内容,应该正是读者所期待的。

第2版修改篇幅较大,其余章节都做了大幅度更新。整改内容大致分为以下几个方面:

  1. 删除安装介绍等比较简单的内容。
  2. 每个章节开头,新增“概述”让各个章节的技术点可以关联起来。
  3. 每个章节增加“实战”案例,让技术点更具有可操作性。
  4. 修改原文中措辞、插图。
  5. 删除第9-10章。

完整的修改内容,可以参阅本书后面部分“附录A:本书1版与2版的差异对比”章节内容。

本书与开源的关系

本书所列之技术多为开源技术,本书所撰写的大部分内容也多取材自我个人的博客以及个人编写的开源书(也算是为开源事业贡献微薄之力吧),符合“取自开源,回馈开源”之宗旨。不想看本书的也可以直接关注我博客(https://waylau.com)或者开源书(https://waylau.com/books)的内容。当然,博客相对来说比较零散,没有这本书来的严谨。

内容介绍

本书分为两大部分,即分布式系统基础理论及分布式系统常用技术。第一部分为第1章和第2章,主要介绍分布式系统基础理论知识,总结一些在设计分布式系统时需要考虑的范式、知识点以及可能会面临的问题。 第二部分为第3章到第8章,主要列举了在分布式系统应用中经常用到的一些主流技术,并介绍这些技术的作用和用法。

  • 第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等技术的应用。

您可以查看详细的书籍目录

本书涉及面相当之广,可以说涵盖了在设计分布式系统时,所要考虑的大部分问题及解决方案。

《分布式系统常用技术及案例分析》封面

源代码

本书提供源代码下载,地址位于本项目下的samples目录。

分支说明

https://github.com/waylau/distributed-systems-technologies-and-cases-analysis/tree/1.0.x 这个分支,是2017年2月第1版 https://github.com/waylau/distributed-systems-technologies-and-cases-analysis/tree/2.0.x 这个分支,是2018年12月第2版

勘误和交流

本书如有勘误,会在https://github.com/waylau/distributed-systems-technologies-and-cases-analysis/issues上进行发布。由于笔者能力有限,时间仓促,难免错漏,欢迎读者批评指正。

读者也可以到博文视点官网的本书页面进行交流(http://www.broadview.com.cn/30771)。

您也可以上豆瓣给老卫打Call。

联系作者

您也可以直接联系我:

如何获取本书

实体店及部分网店有售,据我所知有如下网站供应:

想低于市价得到本书?来二手书集市试试看。

也可以直接关注我博客(https://waylau.com/)或者我的开源书(https://waylau.com/books/)了解更多免费咨询。

其他书籍

若您对本书不感冒,笔者还写了其他方面的超过一打的书籍(可见https://waylau.com/books/),多是开源电子书。

本人也维护了一个books-collection项目,里面提供了优质的专门给程序员的开源、免费图书集合。

开源捐赠

开源捐赠

捐赠所得所有款项将用于开源事业!

distributed-systems-technologies-and-cases-analysis's People

Contributors

waylau avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

distributed-systems-technologies-and-cases-analysis's Issues

2017年2月第1版第1次印刷勘误、改进项

时光荏苒,岁月匆匆,《分布式系统常用技术及案例分析》一书终于得以面世。本书中的大部分内容,其实很早就散落在多年的工作总结中,最后得力于电子工业出版社的帮助,于2016年底编著成文。非常感谢出版社的编辑、设计的朋友,为本书所做出的努力。同时也非常感谢广大技术界的朋友,为本书提供了非常棒的技术素材。本人推崇开源精神,本书所列举的技术,也大多是开源技术。惟愿开源事业永垂不朽!:pray:

当然,由于本书篇幅较大(近700页),知识面涉及较广,加上本人工作确实繁忙,写书、校稿也只能通过业余时间进行,鸭梨山大。。。所以,笔者几易其稿,但仍不免错漏。以下为我在本书的2017年2月第1版第1次印刷中发现的勘误以及改进项,希望各位读者朋友在阅读时注意。也恳请给位读者朋友在阅读过程中,有任何问题,在此交流沟通,帮我改进。感谢!:kiss:

注:下面二级标题为书页。其中,出现“建议”字眼的,为改进项,非勘误。

V

致谢部分书名写错了,应为“《分布式系统原理与范型》”。

p8-p9

代码中的如下3处参数注释,建议删除,这样使代码看上去更加紧凑。

/**
 * @param args
 */

p13

第5行代码注释中的“设置present的时间值”,应为“patience”。

倒数第9行代码“t.join(1000)”与上面的注释之间,不应该保留空格,建议删除。

p47

倒数第2段整个落,建议修改为“任意性故障”一段中的“拜占庭故障(Byzantine failure)”的注脚,这样行文看上去更加顺畅。

倒数第1段中的“随意性故障”应为“任意性故障”。

p79

“C++”应为小写的“c++”。这里不是指编程语言,而是指变量c的自增操作。

p84

“C++”应为小写的“c++”。这里不是指编程语言,而是指变量c的自增操作。

p129

“You build, you run it”应为“You build it, you run it”。

p247

第3行,“保存网络带宽”应为“节省网络带宽”。

p426

第2行,“wget”前建议去除空格。

p545

第2段,倒数第1行中“Github”建议改为“GitHub”。

p648

最后1行,“Soft State”建议改为“Soft state”,与第1章在表述上形成统一。

p649

第1行,“Eventual Consistentcy”改为“Eventual consistency”,与第1章在表述上形成统一。

book

2019年1月第2版第1次印刷勘误、改进项

V

http://www.broadview.com.cn/00000”,应为“http://www.broadview.com.cn/357677”。

VI

致谢部分书名写错了,应为“《分布式系统原理与范型》”。

p73

“C++”应为小写的“c++”。这里不是指编程语言,而是指变量c的自增操作。

p78

“C++”应为小写的“c++”。这里不是指编程语言,而是指变量c的自增操作。

p120

“You build, you run it”应为“You build it, you run it”。

封底

访问“http://www.broadview.com.cn/357677”无法找到资源

书本的图片刊印问题

请问实体书的图是黑白的吗?我从链接买了这本书,但是看到图片黑白而且相对而言不是很清晰,不太确定是否是正版

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.