架構師技術書籍推薦

爲了不混淆,書名的顏色分類,紅色是種草, 黑色是拔草(至少不適合本文的預設讀者)git

1. 國內一線的書程序員

說到大型互聯網站的建設,咱們在世界上也是一流的,比國外那些諮詢師寫的更深味其中艱辛。github

  • 《高可用架構(第一卷)》

厚厚的一本,新浪微博TimYang牽頭的高可用架構社區,幾十個一線實戰案例的結集分享,從頭看起的話只恨本身時間不夠多。算法

  • 《大型網站: 架構演進與性能優化》

薄薄的一本,今年新書,淘寶的分佈式、無線化、中臺化、單元化的歷程與優化,一樣是滿滿的一線經驗。編程

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

同是淘寶系薄書,若是一個新人進入到大型互聯網站,這是最好的入門科書普。後端

  • 《億級流量網站架構核心技術》

京東開濤做品,不少技術掰細了講,因此也蠻厚的。設計模式

  • 《京東基礎架構建設之路》

從早前的.Net,到現在大量自研組件的體系,能夠給兄弟單位的基礎架構部作參考。安全

  • 《進化 - 運維技術變革與實踐探索》

趙成的極客時間,印成書了。運維書裏可貴講想法而不是工具使用的書: "運維能力是總體技術架構能力的體現,運維層面爆發的故障必定是總體技術架構中存在問題,割裂二者,單純的看技術架構或運維都是毫無心義的。"性能優化

 

極客時間網絡

極客時間是一種新的知識交付模式。爲了保持書單的利益無關中立性,就不放二維碼了,你們自個上 https://time.geekbang.org/

  • 《左耳聽風》,左耳朵耗子把本身腦子裏的東西一股腦地倒了出來,惟一缺點是貴。
  • 《從零開始學架構》,互聯網架構的基礎知識,用來培養新人或者本身查漏補缺。

拔草:有些書名字蠻吸引,但翻開目錄都是各類軟件的安裝和使用指南。

 

2. 國外互聯網架構的書

  • 《SRE:Google運維解密》

自編廣告詞:「地球上有這麼一個團隊,將運維推向極限高度」。SRE的事情,不少是基礎架構部的事情。今年的續篇,《The Site Reliablity Workbook》。

  • 《發佈!軟件的設計與部署 》

Nygard做品,關於高可靠性的軟件,學校裏不會教,出來社會卻要面對的那部分。 英文原標題裏,「軟件」的完整表達是「Production-Ready Software」

  • 《DevOps 軟件架構師行動指南》

DevOps的書裏可貴地講基本原則,而不是講具體用什麼監控軟件。

  • 《微服務設計》

微服務開山之做,那麼多微服務的書,這本只談原則而不會寫一堆具體框架的使用。

  • 《生產微服務》

再次被中文編輯的書名戰勝,實際上是《Production-Ready Microservices》,做者以在Uber的經驗,講一個知足基本業務邏輯以外,生產可用的微服務的檢查表。

附加:有兩本英文標題明明是Scalability的書,中文編輯硬是改成《架構即將來》,《架構真經》,前者有咱們前CTO推薦不敢亂說,後者雖然是第二版仍是以爲有點過期,你們本身看目錄判斷了。

 

3. 架構師基礎的書

  • 《恰如其分的軟件架構 - 風險驅動的設計方法》

因爲人類與生俱來的惰性,計算機本來科學的、精準的設計方式,有了敏捷的藉口以後就很難再維持了。本書就是在這種背景下,提出由風險來決定設計的度。除了開始的風險驅動部分,其他部分就是規規矩矩標標準準的架構師教科書。

  • 《軟件系統架構:使用視點和視角與利益相關者合做 第2版》

也是教科書,最可貴的是,這本老書在十年後的2011年年升級了第二版,因此感受鮮活了好多,也許是最鮮活的一本架構書。

附加:提及更新,《Software Architecture in Practice 3rd》也在2012年更新,《Documenting Software Architectures 2nd》在2010年更新,不過中規中矩,沒那麼大吸引力讓人去啃英文了。

拔草:關於設計模式,我之前曾經有過不少本,GOF23啦,企業應用架構模式啦,EIP啦, POSA 5卷本啦,反模式啦,JavaEE/SOA/Restful的模式啦。但如今以爲對新人來講,一本Java寫的《Head First 設計模式》,知道什麼叫設計模式就夠了。

UML相關的書,其實UML只在那個重度文檔的年代會體現統一的做用,如今你們都是怎麼表達清楚怎麼來,最多簡單用下類圖和時序圖了。

 

4. Java語言的書

  • 《Java8 實戰》

Java8的新特性講得最全最仔細的,Java8是一道坎,不少程序員如今還沒邁過去。英文版有重寫了,面向JDK9的《Modern Java in Action》。

《Java性能權威指南》

紫色的這本,比起多年前那部調優聖經,講得更加深刻,也更加貼近如今的JDK。英文版還有一本《Optimizing Java》。

  • 《深刻理解 Java 虛擬機 第2版》

理解虛擬機並非那麼難,Java程序員來講,不少知識實際上是必須的。

  • 《Java併發編程實戰》

Java併發經典,人手一本不用多說了。

  • 《實戰Java高併發程序設計》

國人之做,流暢易讀,內容也比上面一本新一些。

  • 《Effective Java 2nd》

Java編碼規範與指南, 英文版有覆蓋JDK9的第三版。

私家推薦,結合了它和《Java編碼指南:編寫安全可靠程序的75條建議》、《阿里巴巴Java開發手冊》的《惟品會Java開發手冊》(https://vipshop.github.io/vjtools/)

 

極客時間:

  • 《Java核心技術36講》是Oracle 作Java平臺部門的楊曉峯的專欄,Java裏不少關鍵點都講到了。
  • 《深刻拆解Java虛擬機》是Oracle裏作新一代Graal編譯器的高級研究員鄭雨迪對JVM的深刻講解,能堅持看完的同窗平時均可以裝一副很懂的樣子了。

補充:培訓新人最好找《Java核心技術》。最新是第10版,但按JDK近來的升級速度,這書都快追不上了。

要一口吃成個胖子,推薦颯然的《Java工程師修煉之道》,能夠做爲老鳥培養新人,整個Java後端開發的提綱式材料。

《Java 9模塊化開發》,跳票無數回以後,Java9終於支持模塊化了,對這方面關心對能夠看看。

《響應式編程 — RxJava 高階指南》,掘金小冊,連介紹裏的幾篇基礎文章,是響應式編程不錯的入門。 https://juejin.im/book/5a09997cf265da432002bf6a

拔草:《Thinking in Java》有點太舊了,並且做者思路隨意,譯者語言晦澀。《Java性能優化權威指南 》多年前的調優聖經已經舊的沒譜。

 

5. 操做系統與網絡的書

  • 《Linux內核設計與實現 第3版》

業內縮寫LKD。Robert Love用最薄的篇幅,順暢的文字將Linux內核主要的算法講清楚了,《深刻理解Linux內核》之類厚厚的全是代碼,不是專門的內核程序員看這本足夠了。

  • 《性能之巔》

Brendan Gregg的書,火焰圖的推廣者,在Netflix專攻性能。操做系統的性能調優、監控、工具和方法論,看這本就夠了,已經足夠厚,多是書單裏最厚的一本,但值得做爲一本枕頭書。

 

  • 《WireShark網絡分析就這麼簡單》和 《WireShark網絡分析的藝術》

多少人,是看了這兩本輕鬆又實戰的書,才真正理解TCP的細節。

  • 《深刻理解計算機系統 第3版》

若是實在以爲家裏沒本書鎮樓內心不踏實,就買這一本,也是左耳朵耗子力薦的一本。

 

極客時間:

頗有現代感,互聯網站涉及的內容,那些經典教科書裏都沒有的。

附加:《現代操做系統 第3版》若是看LKD未盡興,能夠回頭看看這本基礎概念,感受沒《操做系統概念》(恐龍書)那麼枯燥。

《TCP/IP詳解 卷1:協議 第2版》 這麼多年過去了,TCP的書好像仍是隻有英年早逝的做者的這一本。後人寫的第二版也出來,厚了不少。

拔草:《UNIX環境高級編程》和《UNIX網絡編程》,縮寫爲APUE和UNP,不寫C的同窗其實沒啥用。《Unix 編程藝術》,扯的都是閒篇,厚厚的一本略讀一下就行。

另外,那些日本韓國人寫的《圖解XXX》都不喜歡。

 

6. 算法的書

  • 《數據結構與算法分析-Java語言描述 第3版》

夠薄,數據結構與算法分析的點基本都涵蓋了,並且示例代碼是Java寫的,新出了第3版。

  • 《算法 第4版》

可與上一本對比着讀,厚一些,也多些圖,但知識點沒上面的全,也是Java的。

附加:《數學之美》、《編程珠璣》,都是專欄文章,講得並不系統,能夠當興趣讀物來看。

拔草:無比枯燥不少公式的《算法導論》,《計算機程序設計藝術》就留給特別厲害的同窗去讀了。

 

7. 程序員的自我修養

  • 《程序員修煉之道-從小工到專家》

Pragmatic Programmer--注重實效的程序員系列的開山之做。

  • 《代碼整潔之道》和 《程序員的職業素養》

Robert.C Martin做品,英文名是很相近的《Clean Code》和 《Clean Coder》,應該接替《代碼大全2》成爲必看系列,由於後者太厚了,並且也有很多過期的東西。

還有一本英文版的《Clean Architecture》,不過講的是單體應用自身的架構。

 

  • 《有效的單元測試》

講代碼可讀性的書不少,專門教測試代碼怎麼寫得可讀的少,而事實上咱們不少時間都在維護測試代碼,因此推薦下。

拔草:《重構》很厚,但最有價值就是前面幾章的洗腦篇。

溫伯格的書網上很推崇,《成爲技術領導者》之類的,但我以爲年代太遠,讀起來其實沒多大意思,一兩個雞湯觀點還要本身從書裏慢慢淘,有那功夫不如看點別的。

 

8. 團隊的書

敏捷的書高度重複,看哪本都差很少,好比最開始那本《解析極限編程--擁抱變化》就行,但沒得賣了。

其餘如《硝煙中的Scrum 和 XP》,《學習敏捷》,《敏捷開發的藝術》都不錯。