本书适用对象广泛,不仅可以作为学习分布式计算机的本科生和研究生的教材,对于从事分布式计算研究和工程应用的科技人员和工程技术人员来说,本书也是一本优秀的读物。
参与本书翻译、审稿的人员有辛春生、陈宗斌、周成兴、张长富、陈河南、陈红霞、张景友、易小丽、陈婷、管学岗、王新彦、金惠敏、张海峰、徐晔、戴锋、张德福、张士华、张锁玲、杜明宗、高玉琢、王涛、申川、孙玲、李振国、高德杰、宫飞、侯经国、刘淑妮、张春林、李大成、程明、张路红、张淑芝、孙先国、刘冀得、梁永翔、张广东、郁琪琳、邵长凯、蒲书箴、潘曙光、刘瑞东、李军等。
由于分布式是一种快速发展的新技术,以及译者水平有限,书中难免有错误和疏漏之处,恳请读者不吝指正。前 言 分布式系统已经成为了计算机科学的一个快速发展的领域。从本书的前一版出版以来,分布式系统又出现了一些新的主题,如点对点计算和传感器网络,而其他主题则变得更加成熟了,比如Web服务和Web应用等。这些发展变化要求我们对这本教材进行修订。
本版对上一版进行了重大修订。我们添加了单独的一章,以反映分布式系统组织结构所取得的进展。另一个重大的修改是,本版介绍了更多的非集中式系统内容,尤其是点对点计算。我们不仅讨论了基本技术,而且还介绍了具体的应用,如文件共享、信息传播、内容传送网络和发布/订购系统等。
除了这两个重大主题外,本书还介绍了其他一些新的主题。例如,我们介绍了传感器网络、虚拟化技术、服务器集群和网格计算等。我们还特别关注了分布式系统的自我管理,随着系统不断扩展,这是一个越来越重要的主题。
当然,我们还与时俱进地给出了一些新素材。例如,在讨论一致性与复制时,我们关注的重点是更适合现代分布式系统的一致性模型,而不是最初的模型。同样,我们还添加了有关现代分布式算法的素材,包括基于GPS的时钟同步化和本地化算法。
与前一版相比,本版的总页码有所减少。这主要是本版弃用了诸如分布式垃圾收集和电子支付协议等主题,并对后4章进行了重新组织。
与前一版一样,本书分成了两大部分。第2~9章讨论的是分布式系统的原理,而分布式应用的开发方法(即范型)在第10~13章中进行了讨论。但是,与前一版不同的是,我们没有在讨论范型的章节中完整地介绍每个案例研究,而是通过一个有代表性的案例来解释原理。例如,对象激活作为一个通信原理在第10章关于基于对象的分布式系统中进行了介绍。这种介绍方法使得我们不仅精简了素材,而且可以使得读者在阅读和学习时更愉快些。
当然,我们仍然是努力从实践来阐述什么是分布式系统。本书介绍各种的实际系统,如Web-Sphere MQ、DNS、GPS、Apache、CORBA、Ice、NFS、Akamai、TIB/Rendzvous、Jini等。这些示例阐明了理论与实践的关系,使得分布式系统成为了一个令人激动的领域。
许多人以多种方式对本书作出了贡献。我们尤其要感谢D. Rober Adams、Arno Bakker、Coskun Bayrak、Jacques Chassin de Kergommeaux、Randy Chow、Michel Chaudron、Puneet Singh Chawla、Fabio Costa、Cong Du、Deck Epema、Kevin Fenwick、Chandana Gamage、Ali Ghodsi、Giorgio Ingargiola、Mark Jelasity、Ahmed Kamel、Gregory Kapfhammer、Jeoren Ketema、Onno Kubbe、Patricia Lago、Steve MacDonald、Michel J. Bramanian、Chintan Shah、Ruud Stegers、Paul Tymann、Craig E. Wills、Reyven Yagel和Dakai Zhu阅读了部分书稿,帮助修订了前一版中的一些错误,并提出了宝贵意见。
最后,我们还要感谢我们的家庭。Suzanne已经经历过很多次这样的情况了。她从未说过“我受够了”,尽管这个念头肯定在她脑海里出现过。谢谢你!Barbara和Marvin现在对教授们为谋生所做的工作有了更好的了解,并且认识到好教材和坏教材之间的差别。现在,对我来说他们是我努力创作出更多好教材的动力所在。