分布 & 分享
分布式計算不是一門年輕的技術,早在上個世紀70年代末便已是計算機科學的一個獨立分支了;它也不是一門冷僻的技術,從C/S模式到P2P模式,從集群計算到網格計算,乃至風靡當下的云計算,都是其表演的舞臺。另一方面,Java作為一門應網絡而生的語言,對分布式計算有著天然的友好性,同時也是當今最流行的編程語言。然而令人稍感意外的是,以“分布式Java應用”為專題的書籍并不多見,佳作則更少。至于國人所著者,請恕在下孤陋,尚未得見。不過細想之下,其實不足為奇。要開發一個高質量的分布式Java應用,以達到高性能、可伸縮、高可用、低延遲的要求,同時保證一致性、容錯性、可恢復性和安全性,是何等的不易啊。它對程序開發的挑戰在于:不僅需要對Java語言、類庫、各種框架及相關工具極為熟悉,還需要對底層的JVM機制、各種網絡協議有足夠的了解;它對分析設計的挑戰在于:不僅需要熟悉傳統的應用架構模式,還需要掌握適用于分布式應用的架構模式和算法設計。此外,分布式應用對數據庫管理員、測試分析人員等也提出了更高的要求。一本書若想涵蓋這么多的內容,其難度可想而知。作者不僅需要具備起碼的理論素養,更需要有豐富的實踐經驗。如果僅僅是紙上談兵,對讀者是無甚裨益的。
正因如此,半年多前收到林昊先生的部分書稿時,便竊感欣喜,認定這是一個很好的選題。作為淘寶網的系統架構師,他有著令人艷羨的得天獨厚的實踐機會。尤其難得的是,林昊親身經歷了淘寶網的快速成長和轉型期,飽嘗其間的成敗甘苦,從中也獲得了許多寶貴的第一手經驗。如今,他選擇將這些經驗以書籍的形式與眾共享,對有志于分布式應用開發的讀者而言無疑是一大福音。
本書的基礎部分介紹了分布式Java應用的基本實現方式(重點是SOA)、相關的JDK類庫和第三方框架,并對JVM的基本機制進行了深入解析;實踐部分則關注于高性能、高可用和可伸縮系統的構建等。全書文風樸實,并附有大量的代碼、數據和圖表,比較符合大多數程序員的口味,也非常具有實踐指導意義。如果用挑剔的眼光看,本書在深度、廣度和高度上還有繼續改進的余地,比如:對關鍵性的并發設計和算法設計可以介紹得更深入些;尚未涉及分布式應用中的安全問題;在性能調優一章中對Java源碼級別的優化介紹似嫌不足;未能高屋建瓴地總結和提煉出分布式應用獨有的編程和設計原則、架構和思維模式,等等。當然,對于這樣一本上乏經典可參、下需躬身實踐的書籍來說,以上多屬苛求。事實上,本人在審稿過程中也是獲益良多。
另值一提的是,林昊先生利用業余時間寫作,已是經年有余,其間數易其稿,且從善如流,充分體現了技術人員的求道精神。本書的主題在明是分布,在暗則是分享——分享一段成長經歷、分享一份寶貴經驗,無論對作者還是讀者,都是善莫大焉。
鄭暉
http://blog.zhenghui.org/
《冒號課堂——編程范式與OOP思想》作者
2010年5月于廣州
- Oracle SOA Governance 11g Implementation
- VMware Performance and Capacity Management(Second Edition)
- Mastering Elastic Stack
- Creo Parametric 1.0中文版從入門到精通
- Implementing Oracle API Platform Cloud Service
- 嵌入式操作系統
- 運動控制系統應用與實踐
- 中國戰略性新興產業研究與發展·工業機器人
- Troubleshooting OpenVPN
- 基于Xilinx ISE的FPAG/CPLD設計與應用
- INSTANT Munin Plugin Starter
- 學練一本通:51單片機應用技術
- IBM? SmartCloud? Essentials
- 玩機器人 學單片機
- 數據清洗