進階Java架構師必看的15本書

Java技術棧發表於2019-01-19

轉載自 進階Java架構師必看的15本書

1、大型網站技術架構:核心原理與案例分析

本書通過梳理大型網站技術發展歷程,剖析大型網站技術架構模式,深入講述大型網際網路架構設計的核心原理,並通過一組典型網站技術架構設計案例,為讀者呈現一幅包括技術選型、架構設計、效能優化、Web安全、系統釋出、運維監控等在內的大型網站開發全景檢視。

本書作者李智慧,曾在阿里巴巴擔任技術專家,參與阿里巴巴基礎技術平臺開發和架構設計。

2、分散式服務框架原理與實踐

微服務是當前非常熱的技術關鍵詞之一,那麼微服務如何落地呢?首先要實現服務化,微服務架構是一種服務化架構風格。首先分析了作為一個分散式服務框架所需具備的能力,包括服務註冊中心、服務呼叫、服務路由、服務釋出/灰度釋出等;接著分析了服務底層如何有效地進行通訊,包括通訊框架、序列化/反序列化及協議棧等;然後分析了服務如何做到高可靠性及高安全性等重要特性;最後也闡述了從服務化如何向微服務演進。乾貨滿滿!

作者李林鋒多年來在華為一直從事核心程式碼的架構設計和開發,屬於實戰型架構師,這本書集合了他多年的架構思路,書中內容組織清晰,圖例詳實,非常便於理解與吸收。

3、網際網路創業核心技術:構建可伸縮的web應用

可伸縮架構技術是所有網際網路技術中最重要,也是最引人入勝的技術。《網際網路創業核心技術:構建可伸縮的web應用》針對網際網路創業需求快速迭代,業務快速發展,短時間內使用者、資料、訪問量激增的特點,提綱挈領地描述了伸縮性架構的基本原理與設計原則,詳細闡述了Web應用前端層、服務層、資料層的可伸縮架構,並花大量篇幅講述了快取技術和非同步處理技術的可伸縮設計及其在Web系統中的具體應用。

《網際網路創業核心技術:構建可伸縮的web應用》面向網際網路創業公司工程師,也適用於所有網際網路行業的工程師,對非網際網路行業的軟體工程師也有借鑑作用。事實上,《網際網路創業核心技術:構建可伸縮的web應用》適合所有對可伸縮架構有興趣的軟體技術人員閱讀。

4、高擴充套件性網站的50條原則

《高擴充套件性網站的50條原則》給出了設計高擴充套件網站的50條原則,如不要過度設計、設計時就考慮擴充套件性、把方案簡化3倍以上、減少DNS查詢、儘可能減少物件等,每個原則都與不同的主題繫結在一起。大部分原則是面向技術的,只有少量原則解決的是與關鍵習慣和方法有關的問題,當然,每個原則都對構建可擴充套件的產品至關重要。

5、架構即未來:現代企業可擴充套件的Web架構、流程和組織(原書第2版)

任何一個持續成長的公司最終都需要解決系統、組織和流程的擴充套件性問題。本書匯聚了作者從eBay、VISA、Salesforce.com到Apple超過30年的豐富經驗,全面闡釋了經過驗證的資訊科技擴充套件方法,對所需要掌握的產品和服務的平滑擴充套件做了詳盡的論述,並在第1版的基礎上更新了擴充套件的策略、技術和案例。

針對技術和非技術的決策者,馬丁•阿伯特和邁克爾•費舍爾詳盡地介紹了影響擴充套件性的各個方面,包括架構、過程、組織和技術。通過閱讀本書,你可以學習到以最大化敏捷性和擴充套件性來優化組織機構的新策略,以及對雲端計算(IaaS/PaaS)、NoSQL、DevOps和業務指標等的新見解。而且利用其中的工具和建議,你可以系統化地清除擴充套件性道路上的障礙,在技術和業務上取得前所未有的成功。

6、系統架構:複雜系統的產品設計與開發

本書由系統架構領域3位領軍人物親筆撰寫,該領域資深專家Norman R.Augustine作序推薦,Amazon全五星評價。

本書首先講解了什麼是系統,什麼是系統架構,並從形式和功能兩個方面講解了如何分析系統。之後開始講解如何建立良好的系統架構。在將概念演化為架構的過程中,架構師需要對系統進行分解,以看清這些元件的結構以及它們之間的互動情況,因此需要根據一些衡量指標來構建權衡空間,以便使用優化演算法找出優勢較大的架構。

7、Java效能優化權威指南

Java效能優化聖經!Java之父重磅推薦!

本書由曾任職於Oracle/Sun的效能優化專家編寫,系統而詳細地講解了效能優化的各個方面,幫助你學習Java虛擬機器的基本原理、掌握一些監控Java程式效能的工具,從而快速找到程式中的效能瓶頸,並有效改善程式的執行效能。

Java效能優化的任何問題,都可以從本書中找到答案!

8、大規模分散式儲存系統:原理解析與架構實戰

阿里巴巴高階技術專家(OceanBase核心開發人員)撰寫,陽振坤、章文嵩、楊衛華、汪源、餘鋒(褚霸)、賴春波等來自阿里、新浪、網易和百度的資深技術專家聯袂推薦。

系統講解構建大規模儲存系統的核心技術和原理,詳細分析Google、Microsoft和阿里巴巴的大規模分散式儲存系統的原理。

實戰性強,通過對阿里巴巴的分散式資料庫OceanBase的實現細節進行深入分析,完整講解了大規模分散式儲存系統的架構方法與應用實踐。

9、大規模分散式系統架構與設計實戰

本書從作者的實戰經驗出發,深入淺出地講解了如何建立一個Hadoop那樣的分散式系統,實現對多臺計算機CPU、記憶體、硬碟的統一利用,從而獲取強大計算能力去解決複雜問題。一般網際網路企業的分散式儲存計算系統都是個大平臺,系統複雜、程式碼龐大,而且只適合公司的業務,工程師很難下載安裝到自己的電腦裡學習和吃透。

本書對分散式核心技術進行了大量歸納和總結,並從中抽取出一套簡化的框架和程式設計API進行講解,方便工程師瞭解分散式系統的主要技術實現。這不是一本空談概念、四處摘抄的書,這本書包含了大量精煉示例,手把手教你掌握分散式核心技術。

10、企業IT架構轉型之道:阿里巴巴中臺戰略思想與架構實戰

在當今整個中國社會都處於網際網路轉型的浪潮中,不管是政府職能單位、業務規模龐大的央企,還是面臨最激烈競爭的零售行業都處於一個重要的轉折點,這個轉折對企業業務模式帶來了衝擊,當然也給企業的資訊中心部門帶來了挑戰:如何構建IT系統架構更好地滿足網際網路時代下企業業務發展的需要。阿里巴巴的共享服務理念以及企業級網際網路架構建設的思路,給這些企業帶來了不少新的思路,這也是我最終決定寫這本書的最主要原因。


本書從阿里巴巴啟動中臺戰略說起,詳細闡述了共享服務理念給企業業務發展帶來的業務價值。接著會分享阿里巴巴在建設共享服務體系時如何進行技術框架的選擇,哪些重要的技術平臺支撐起了共享服務體系,這也是迄今為止對阿里巴巴集團中介軟體體系對外最全面系統的介紹。除了技術層面之外,本書還分享了阿里巴巴內部的一些經驗和實踐,如組織的架構和體制如何更好地支援共享服務體系的持續發展。


11、盡在雙11:阿里巴巴技術演進與超越

從 2009 年淘寶商城起,雙 11 已歷經八年。每年的雙 11 既是當年的結束,又是走向未來的起點。技術的突破創新,商業模式的更替互動,推動著雙 11 邁步向前。

《盡在雙11——阿里巴巴技術演進與超越》是迄今唯一由阿里巴巴集團官方出品、全面闡述雙11八年以來在技術和商業上演進和創新曆程的書籍。內容涵蓋在雙11背景下阿里技術架構八年來的演進,如何確保穩定性這條雙 11 生命線的安全和可靠,技術和商業交織發展的歷程,無線和互動的持續創新與突破,以及對商家的賦能和生態的促進與繁榮。

12、大型網站系統與Java中介軟體實踐

本書圍繞大型網站和支撐大型網站架構的Java中介軟體的實踐展開介紹。從分散式系統的知識切入,讓讀者對分散式系統有基本的瞭解;然後介紹大型網站隨著資料量、訪問量增長而發生的架構變遷;接著講述構建Java中介軟體的相關知識;之後的幾章都是根據筆者的經驗來介紹支撐大型網站架構的Java中介軟體系統的設計和實踐。

希望讀者通過本書可以瞭解大型網站架構變遷過程中的較為通用的問題和解法,並瞭解構建支撐大型網站的Java中介軟體的實踐經驗。對於有一定網站開發、設計經驗,並想了解大型網站架構和支撐這種架構的系統的開發、測試等的相關工程人員,本書有很大的參考意義;對於沒有網站開發設計經驗的人員,通過本書也能巨集觀瞭解大型網站的架構及相關問題的解決思路和方案。

13、架構探險—從零開始寫Java Web框架

本書首先從一個簡單的Web應用開始,讓讀者學會如何使用IDEA、Maven、Git等開發工具搭建Java Web應用;接著通過一個簡單的應用場景,為該 Web 應用新增若干業務功能,從需求分析與系統設計開始,帶領讀者動手完成該Web應用,完善相關細節,並對已有程式碼進行優化;然後基於傳統Servlet框架搭建一款輕量級Java Web框架,一切都是從零開始,逐個實現類載入器、Bean 容器、IoC框架、MVC框架,所涉及的程式碼也是整個框架的核心基礎。為了使框架具備AOP特性,從代理技術講到AOP技術,從ThreadLocal技術講到事務控制技術。最後對框架進行優化與擴充套件,通過對現有框架的優化,使其可以提供更加完備的功能,並以擴充套件 Web 服務外掛與安全控制外掛為例,教會讀者如何設計一款可擴充套件的Web應用框架。

14、架構探險:從零開始寫分散式服務框架

隨著微服務的流行,支撐微服務的分散式服務框架成為大家優先發展的重點。服務化的基本原理掌握起來相對比較容易,但是要從零構建一個分散式服務框架卻比較困難,涉及通訊、執行緒併發、服務排程等。本書詳細講解了構建服務框架所需的各種技術及框架選型,手把手教初學者搭建一套完整的分散式服務框架,如果你想掌握分散式服務框架底層的技術細節,自己開發一套適合本公司和領域的服務框架,本書是一個非常不錯的選擇!

15、軟體架構師的12項修煉

本書將3大方面的軟技能分為12項:關係技能包含文雅的舉止(在任何環境下都能與人文雅相處的能力)、溝通(與人有效互動的能力)、協商(將事情辦成的能力)、領導力(通過施加影響力將事情辦成的能力)和政治(“政治場合”與人互動的能力)等5項;個人技能包含透明化(使自我、團隊關係和專案透明化的能力)、激情(激發和保護激情的能力)和語境切換(將注意力迅速切換到新語境並保持專注的能力)等3項;商務技能包括商務知識(讀懂商務語言的能力和了解產品與顧客的能力)、創新(如何通過學習和思考來創新的能力)、實用主義(抓住關鍵問題的能力)、認知(認知目標、戰略及合作伙伴的能力)等4項。

本書不僅幫助軟體開發人員系統地學習如何修煉這12項軟技能,而且還能讓他們進一步理解軟體架構師的角色和本質,使他們最終突破技術的“天花板”,成為一名合格的軟體架構師。



相關文章