分布式系统常用技术及案例分析
柳伟卫
前言
写作背景
我一直想写一本关于分布式系统方面的书。一方面是想把个人多年工作中涉及的分布式技术做一下总结,另一方面也想把个人的经验分享给广大的读者朋友。由于我的开发工作大都以Java为主,所以一开始的主题设想是“分布式Java”,书也以开源方式发布在互联网上(网址为https://github.com/waylau/distributed-java)。
后来,陈晓猛编辑看到了这本开源书,以及我关于分布式系统方面的博文,问我是否有兴趣出版分布式相关题材的图书。当然书的内容不仅仅是“分布式Java”。
对于出书一事,我犹豫良久。首先,本身工作挺忙,实在无暇顾及其他;其次,虽然我之前写过超过一打的书籍(可见https://waylau.com/books/),但多是开源电子书,时间、内容方面自然也就不会有太多约束,几乎是“想写就写,没有时间就不写”,这个跟正式出版还是存在比较大的差异的;最后,这本书涉及面相对较广,需要查阅大量资料,实在是太耗费精力。
但陈晓猛编辑还是鼓励我能够去尝试做这个事情。思索再三,于是我便答应。当然,最后这本书还是在规定时间内完成了。它几乎耗尽了我写作期间所有的业余和休息时间。
“不积跬步,无以至千里;不积小流,无以成江海。”虽然整本书从构思到编写完成的时间不足一年,但书中的大部分知识点,却是我在多年的学习、工作中积累下来的。之所以能够实现快速写作,一方面是做了比较严格的时间管理,另一方面也得益于我多年坚持写博客和开源书的习惯。
内容介绍
第1章介绍分布式系统基础理论知识,总结一些在设计分布式系统时需要考虑的范式、知识点以及可能会面临的问题,其中包括线程、通信、一致性、容错性、CAP理论、安全性和并发等相关内容。
第2章详细介绍分布式系统的架构体系,包括传统的基于对象的体系结构、SOA,也包括最近比较火的RESTful风格架构、微服务、容器技术、Ser…