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

来源:http://www.cnblogs.com/itfly8/archive/2016/01/13/5128025.html
-Advertisement-
Play Games

學習是技術人員成長的基礎,本次分享20本技術方面的書籍,這些書不是每一本都是經典,但是每一本都有其特點。以下20本大部分本人看過,因此推薦給大家。包含大型網站架構系列, 分散式系統系列,BAT技術文學系列,架構設計系列。


學習是技術人員成長的基礎,本次分享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<[email protected]> 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.尊重知識產權。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 之前在寫jquery的時候,有時候需要用jq來判斷頁面上的某個元素是否存在,一開始的時候想到的是:if ($(obj).parent().parent().find('.poa-list') == undefind) //判斷dd元素是否存在或者if($(obj).parent().parent()...
  • easyui form combobox省市區三級聯動使用方法 1 $(function () { 2 //省市區三級聯動 3 $.citySelect({ $province: $('#province'), $city: $('#city'), $County: ...
  • 通過tree組件和tabs組件結合載入子頁面窗體aspx,點擊按鈕頁面全部重新載入,或整個跳到子窗體頁面,解決方案:換一種結合iframe的方式做系統界面:在tree組件出替換掉設置href屬性處為下麵代碼content: ""並且把頁面上實例化tree組件的div標簽換到實例化layout佈局的中...
  • JavaScript實現繼承的各種方法,並且實現的原理。及屬性prototype的解釋。
  • content屬性值 : width:可視區域的寬度,值可為數字或關鍵詞device-width height:同width intial-scale:頁面首次被顯示是可視區域的縮放級別,取值1.0則頁面按實際尺寸顯示,無任何縮放 maximum-scale=1.0, minimum-sca...
  • Modernizr是什麼? Modernizr 是一個用來檢測瀏覽器功能支持情況的 JavaScript 庫。 目前,通過檢驗瀏覽器對一系列測試的處理情況,Modernizr 可以檢測18項 CSS3 功能以及40多項關於HTML5 的功能。 它比傳統檢測瀏覽器名稱(瀏覽器嗅探)的方式更為可靠...
  • 今天我們要來分享一款基於純CSS3的自定義邊框應用,看上去它像一個Tooltip控制項,因為下邊框有一個小三角,就像很多地方的引用文本框一樣。另外這款CSS3邊框是塗鴉風格的,看起來很有個性。用CSS3實現自定義邊框的好處是可以自適應邊框內部的文字數量大小。下麵我們來分享一下實現的方法,主要由HTML...
  • jquery操作覆選框(checkbox)的12個小技巧。1、獲取單個checkbox選中項(三種寫法)$("input:checkbox:checked").val()或者$("input:[type='checkbox']:checked").val();或者$("input:[name='ck...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...