分布式Java应用

林昊
分布 & 分享 分布式计算不是一门年轻的技术,早在上个世纪70年代末便已是计算机科学的一个独立分支了;它也不是一门冷僻的技术,从C/S模式到P2P模式,从集群计算到网格计算,乃至风靡当下的云计算,都是其表演的舞台。另一方面,Java作为一门应网络而生的语言,对分布式计算有着天然的友好性,同时也是当今最流行的编程语言。然而令人稍感意外的是,以“分布式Java应用”为专题的书籍并不多见,佳作则更少。至于国人所著者,请恕在下孤陋,尚未得见。不过细想之下,其实不足为奇。要开发一个高质量的分布式Java应用,以达到高性能、可伸缩、高可用、低延迟的要求,同时保证一致性、容错性、可恢复性和安全性,是何等的不易啊。它对程序开发的挑战在于:不仅需要对Java语言、类库、各种框架及相关工具极为熟悉,还需要对底层的JVM机制、各种网络协议有足够的了解;它对分析设计的挑战在于:不仅需要熟悉传统的应用架构模式,还需要掌握适用于分布式应用的架构模式和算法设计。此外,分布式应用对数据库管理员、测试分析人员等也提出了更高的要求。一本书若想涵盖这么多的内容,其难度可想而知。作者不仅需要具备起码的理论素养,更需要有丰富的实践经验。如果仅仅是纸上谈兵,对读者是无甚裨益的。 正因如此,半年多前收到林昊先生的部分书稿时,便窃感欣喜,认定这是一个很好的选题。作为淘宝网的系统架构师,他有着令人艳羡的得天独厚的实践机会。尤其难得的是,林昊亲身经历了淘宝网的快速成长和转型期,饱尝其间的成败甘苦,从中也获得了许多宝贵的第一手经验。如今,他选择将这些经验以书籍的形式与众共享,对有志于分布式应用开发的读者而言无疑是一大福音。 本书的基础部分介绍了分布式Java应用的基本实现方式(重点是SOA)、相关的JDK类库和第三方框架,并对JVM的基本机制进行了深入解析;实践部分则关注于高性能、高可用和可伸缩系统的构建等。全书文风朴实,并…