《大型網站系統與Java中間件開發實踐》讀后感
最近買的技術書比較多,一本還沒看完又來一本,前端、后端都涉足一些,可惜都不深,這點需要改進,持續一段時間思考一個方面的問題這樣的效果應該會好點。具體這本書已經忘了當時從哪兒看到的介紹,發現一堆業界名人的推薦,到豆瓣看了看目錄和評論,當然三百來頁也是個重要指標(估計一到兩周也就看完了),于是就下單買了。閑話不扯,談談這本書的內容和我的感想吧。全書整體脈絡很清楚,先介紹了分布式系統,接著以大型網站及架構演進過程中不同時段遇到的挑戰引出中間件的話題,之后簡單介紹各類中間件中用到的通用技術(如垃圾回收、內存布局、反射、網絡通信),隨之以大型網站架構中各層如服務層、數據訪問層、消息層、軟負載等分章論述其中遇到的挑戰和應對策略。
整本書翻完之后首先的感覺是作者已經建構了關于這個領域成體系的知識,能夠僅通過文字加最簡單的框圖將“架構”這種話題娓娓道來內功應該不淺(好吧,此類文章夸到此時該批評出場了)。像豆瓣里的一些人評論的那樣,很多東西感覺講的不深入,話題起了個頭,撩起興趣來了,咔,結束了。讓看官們把脫下的褲子就這么草草穿上當然會有很多不甘心,可以理解。此現象我覺得是針對的作者群事先沒說清,如果你是Java領域的初學者,或者有過幾年開發經驗,但常接觸的只是java.lang.util下面的某幾個類,知道個ssh,參與了幾個MIS系統,開發的功能也就是些增刪改查,看起來自然吃力。此前只知道how,很少想why,遇到問題只知道google甚至只知道baidu,一頁一頁翻過去,用別人類似場景中解決方案逐個試錯,試出一個有效的來就覺得大功告成。遇事沒有由點及線再及面的深入思考、理解的習慣,書中的場景自然陌生,問題來了卻只給了個文字性的解決方案描述當然不適應,但一本三百多頁的書要把架構的細節面面俱到講清楚可能嗎?“talk is cheap show me the code”,阿里系在java領域開源了那么多東西,直接去看人家的源碼吧。
建議曾經接觸過或思考過分布式應用的Java工程師看看,畢竟這樣的人能夠站到相似的背景線上,與作者在書中的對話更容易一些。但淘寶面對的問題實際上已經不是大量開源組件所能直接解決的,所以才需要他們深入源碼細節、消化之后再創造。比如一個信息路由,我所接觸的只是需要分機器路由就OK了,但他們甚至需要考慮到機房、機架這種粒度。畢竟這本書里面涉及了眾多概念:阿姆達爾定律、BIO NIO AIO、應用服務化 服務治理、消息中間件、數據垂直拆分水平拆分、CAP BASE Paxos、讀寫分離(Master Slave)。很多地方是順著一條主線的思路講的時候引出來的,所以只做簡單介紹,但于我來說如果此前陌生就會記下來,另外花時間了解。
一句話,別指望這是一本架構方面的大全。能夠給出的是別人面對問題、解決問題的思路,剩下的還是交由你自己解決~
posted @ 2014-06-06 14:49 預流 閱讀(3145) | 評論 (4) | 編輯 收藏