大型網站架構系列:20本技術書籍推薦(轉)

林加欣發表於2016-11-14

學習是技術人員成長的基礎,本次分享20本技術方面的書籍,這些書不是每一本都是經典,但是每一本都有其特點。以下20本大部分本人都看過,因此推薦給大家。(本次推薦的20本只是一個參考,比如像Head First,Java程式設計思想等經典書籍是大家都知道,因此不在推薦之列)

本次分享大綱

  1. 大型網站架構系列
  2. 分散式系統系列
  3. BAT技術文學系列
  4. 架構設計系列
  5. 本次分享總結

一、大型網站架構系列

第一本:《大型網站技術架構:核心原理與案例分析》

這是本算是國內大型網站架構的經典之作,由阿里人李智慧創作,聽名字就知道本書很有智慧。主要從大型網站架構的特點,架構目標(高效能,高可用,可伸縮等)基本理論講起,並介紹了幾個很有特色的案例。

之前群內分享的大型網站架構系列的基礎理論大部分出自此書。 

 

第二本:《大型網站系統與Java中介軟體實踐》

同樣出自阿里的技術牛人。此書對分散式系統的演進做了較好的介紹。對常用中介軟體(服務框架,資料訪問層,訊息中介軟體)做了比較深入的講解。(原理到實踐都有了) 

第三本:《大型分散式網站架構設計與實踐》,很抱歉本書也出自阿里系。

對面向服務的架構,分散式基礎設施(快取,持久化,訊息系統,搜尋引擎(lucence,solr)),網際網路安全架構,系統穩定性,資料分析等做了較好的講解。

以上三本書,都出自阿里系,有理論有實踐,如果要學到知識,還需要多讀,多想,多實踐。比如第一本,個人看了至少5遍以上。其他兩天也在三遍左右。

 

第四本:《Web資訊架構——設計大型網站》

可以較系統的建立網站資訊架構設計的思想。對思考如何設計一個大型網站比較有幫助。

資訊架構,注意這幾個詞所涉及的知識。

 

第五本:《高效能網站建設》,對web前端架構做了非常好的講解。

注意此處的前端不只是 JS,CSS,HTML,是指業務邏輯層之前的部分。包括快取,DNS等。

 

第六本:《實用負載均衡技術:網站效能優化攻略》,本書較詳細的介紹了負載均衡,快取代理等知識,對系統瞭解負載均衡技術有幫助。

 

第七本:《高效能電子商務平臺構建:架構、設計與開發》,本書可以作為功能架構參考,因為他講的是國內一個開源商城的架構。一方面作者可能是為了推廣他的開源商城,因此建議初學者或者想了解此開源系統的人學習。不建議所有人學習。

 

第八本《高效能網站構建實戰》,建議運維人員可以參考。裡面介紹了LVS+KeepAlived實現高可用叢集,高效能負載均衡器HAProxy,經久不衰的Squid,高效能快取伺服器Varnish,Ngnix等。裡面有大量的安裝指令碼,因此建議運維或想了解如何部署的參考學習。

 

以上是分享的八本關於大型網站架構的書籍。

二、分散式系統系列

第一本:《從Paxos到Zookeeper:分散式一致性原理與實踐》,這一本是Leader-us老師推薦的。對於瞭解分散式和Zookeeper很有幫助。內容有一致性協議,2PC,3PC,Paxos演算法,Paxos的工程實踐,Zookeeper的安裝使用, ZooKeeper的典型應用場景等。本書也出自阿里系。

 

第二本:《ZeroC Ice權威指南》,作者是我們群內的S級資深架構師Leader-us老師所著。

對於學習Zeroc Ice很有幫助。Zeroc Ice是與dubbo類似的一套框架。可以實現RPC和服務治理。

關於更多ZeroC Ice知識,可以諮詢Leader-us。

 

第三本:《Kubernetes權威指南:從Docker到Kubernetes實踐全接觸》是介紹Docker和Kubernetes比較不錯的一本書。作者也有我們的Leader-us老師。

 

第四本:《大規模分散式儲存系統:原理解析與架構實戰》,對了解分散式儲存有一定的幫助。

從單機儲存到分散式儲存,事務,併發控制等。對常用的分散式儲存系統,鍵值系統,表格系統,分散式資料庫等有較好介紹。理論和實踐都有,如果自己沒實際去思考去做,都可以歸為理論。

 

分散式系統,大資料方面了這次就不介紹了。感興趣的可以群內諮詢。

三、BAT技術系列

推薦三本技術文學類書籍。第一本是《淘寶技術這十年》,第二本是《京東技術解密》,第三本是《華為研發》

第一本:《淘寶技術這十年》群內有電子版,個人看了至少三遍以上。生動形象的介紹了淘寶從小到大的技術發展歷程。對思考技術發展有較好的幫助

 

第二本:《京東技術解密》,可以作為參考吧,本人買了一本,但還沒詳細看。總體來看,《淘寶技術這十年》質量和內容上更好一些。

 

第三本《華為研發》本人幾年前看的是第一版,現在又第二版了。此書對華為技術的發展和管理變革有一定了解,從而指導自己對技術管理進行一些改進。

 

小插曲:談一下技術和管理在個人發展中的看法。

人工作有十年了,做過幾年技術也做過幾年管理。在個人的經歷中,對技術和管理有一些不同的看法。

首先,做幾年技術後發現希望做管理,做管理後發現想做技術。經過思考發現是自己對技術和管理認識不足,知識掌握不對。

比如技術如果不能提高到架構師級別,就只能code,這樣一年一年薪資不漲也基本看到了盡頭。

因此做技術必須要做到架構師級別。(可能話有點慢),但是個人最近的感悟。只有做到架構級別,從一定的高度思考技術問題,才能不會被淘汰。

Leader-us<springcomingagain@qq.com> 20:18:01

專注技術,同時培養技術派的領導能力,經驗越豐富,越需要在IT圈裡培養知名度,參與開源或者很多技術獲得

 

因此,我做管理後,又轉到了技術。到現在基本瞭解如何去做一個架構師了。

到這個時候,發現應該去做管理。

呵呵~~因為個人的發展模式是技術+管理的模式發展。以下是架構,管理方面成長的知識參考。

架構方面:物件導向,設計模式,架構模式,分散式系統,業務架構(常用系統架構),具體技術廣度和深度等;

管理方面:專案管理(PMP,PRINCE2),敏捷管理,流程規範(CMMI等),通用管理知識等。

四、架構設計系列

第一本:《研磨設計模式》,這本書詳細對GOF設計模式進行了講解。

設計模式講的比較細緻,透徹。傳說網上有研磨設計模式作者的視訊。有的可以分享一下。

這是本人推薦的詳細學習設計模式的第一本書。

像HeadFirst這類的就不說了。

大話設計模式也可以看下,不過入門可以,但深入研究就需要看別的了。

 

第二本:前幾天給大家推薦過《物件導向葵花寶典》,對理解物件導向思想有一些幫助。對物件導向理解做了較到位的描述。

 

第三本:《.NET應用架構設計:原則、模式與實踐》,不過這本是NET寫的。對常用的架構模式做了介紹。比如N層設計,業務層設計,邏輯層設計,服務層設計,資料層設計等。對了解各層的設計方法有不錯的幫助。本人看這本書也至少三遍以上。

比如在服務設計中有一個冪等的模式,是分散式系統中較長用到的。

 

第四本:《Microsoft .NET企業級應用架構設計》,與《NET應用架構設計:原則、模式與實踐》想對應的是本書也是從業務層,服務層,等進行架構模式的架構。講解的方式有點不同。雖然是NET語言的,但是對Java或其他語言都有幫助。比如:假如一個人說MVC是設計模式,你就懂的MVC是架構模式。

 

第五本:最後,再給大家分享一本架構的書。原因是技術積累會成為類庫,類庫逐漸會變為框架。一個人架構設計的能力,很大程度體現在框架設計方面。因此,最後一本書是《架構探險:從零開始寫Java Web框架》

本書從零開始,介紹瞭如何搭建一個web框架。bean實現,aop實現等。本書個人讀了兩遍,感覺對設計框架和封裝模組有一定的幫助。

五、本次分享總結

以上是本週的分享,原計劃分享訊息佇列技術,但考慮到如果能分享一些書籍可能對大家幫助更大,也是之前答應某些群友的,並且是16年第一次分享,因此臨時改為分享技術書籍。希望對大家有幫助,分享的書籍大部分是個人看過的,可能不是最好的,但每一本都有亮點。這次分享出來,供大家學習參考。

最後,再次倡議大家購買紙質書,1.對眼睛好;2.尊重智慧財產權。

 
分類: 雜談

相關文章