大型網站系統與Java中間件實踐

大型網站系統與Java中間件實踐

《大型網站系統與Java中間件實踐》是2014年4月1日電子工業出版社出版的圖書,作者是曾憲傑。

基本介紹

  • 中文名:大型網站系統與Java中間件實踐
  • 作者:曾憲傑
  • 出版社:電子工業出版社
  • 出版時間:2014年4月1日
  • 頁數:322 頁
  • 定價:65 元 
  • 開本:16 開
  • ISBN:9787121227615 
  • 類型:計算機與網際網路
  • 語種:簡體中文
內容簡介,圖書目錄,作者簡介,名人推薦,

內容簡介

到底是本什麼書,擁有這樣一份作序推薦人列表:阿里集團章文嵩博士|新浪TimYang|去哪網吳永強|丁香園馮大輝|蘑菇街岳旭強|途牛湯崢嶸|豆瓣洪強寧|某電商陳皓/林昊……
這本書出自某電商技術部總監之手,他也是某電商近10年來歷次技術飛躍的參與者、貢獻者和帶領者,其中的經驗直接來自某電商服務框架、訊息中間件及數據訪問層
《某電商技術這十年》勾勒出某電商Java技術變遷波瀾壯闊的輪廓,本書則給出最詳盡、深入、系統的解讀與演示,實用到足以讓任一層級的學習者如獲至寶。
看過的人無不暗中叫它“那些年我們一起走過的坑”,領略超大型網站陳年積澱的寶貴經驗、領先思路和具體手法,後來者就有機會彎道超車!

圖書目錄

第1章分散式系統介紹1
1.1初識分散式系統1
1.1.1分散式系統的定義1
1.1.2分散式系統的意義3
1.2分散式系統的基礎知識5
1.2.1組成計算機的5要素5
1.2.2執行緒與進程的執行模式6
1.2.3網路通信基礎知識13
1.2.4如何把套用從單機擴展到分散式18
1.2.5分散式系統的難點31
第2章大型網站及其架構演進過程35
2.1什麼是大型網站35
2.2大型網站的架構演進37
2.2.1用Java技術和單機來構建的網站37
2.2.2從一個單機的交易網站說起38
2.2.3單機負載告警,資料庫與套用分離40
2.2.4套用伺服器負載告警,如何讓套用伺服器走向集群41
2.2.5數據讀壓力變大,讀寫分離吧50
2.2.6彌補關係型資料庫的不足,引入分散式存儲系統56
2.2.7讀寫分離後,資料庫又遇到瓶頸58
2.2.8資料庫問題解決後,套用面對的新挑戰60
2.2.9初識訊息中間件63
2.2.10總結64
第3章構建Java中間件67
3.1Java中間件的定義67
3.2構建Java中間件的基礎知識68
3.2.1跨平台的Java運行環境——JVM69
3.2.2垃圾回收與記憶體堆布局70
3.2.3Java並發編程的類、接口和方法72
3.2.4動態代理89
3.2.5反射91
3.2.6網路通信實現選擇93
3.3分散式系統中的Java中間件94
第4章服務框架97
4.1網站功能持續豐富後的困境與應對97
4.2服務框架的設計與實現100
4.2.1套用從集中式走向分散式所遇到的問題100
4.2.2透過示例看服務框架原型101
4.2.3服務調用端的設計與實現107
4.2.4服務提供端的設計與實現132
4.2.5服務升級137
4.3實戰中的最佳化138
4.4為服務化護航的服務治理142
4.5服務框架與ESB的對比146
4.6總結147
第5章數據訪問層149
5.1資料庫從單機到分散式的挑戰和應對149
5.1.1從套用使用單機資料庫開始149
5.1.2資料庫垂直/水平拆分的困難150
5.1.3單機變為多機後,事務如何處理152
5.1.4多機的Sequence問題與處理165
5.1.5應對多機的數據查詢168
5.2數據訪問層的設計與實現174
5.2.1如何對外提供數據訪問層的功能174
5.2.2按照數據層流程的順序看數據層設計177
5.2.3獨立部署的數據訪問層實現方式192
5.2.4讀寫分離的挑戰和應對194
5.3總結200
第6章訊息中間件203
6.1訊息中間件的價值203
6.1.1訊息中間件的定義203
6.1.2透過示例看訊息中間件對套用的解耦204
6.2網際網路時代的訊息中間件208
6.2.1如何解決訊息傳送一致性209
6.2.2如何解決訊息中間件與使用者的強依賴問題218
6.2.3訊息模型對訊息接收的影響222
6.2.4訊息訂閱者訂閱訊息的方式229
6.2.5保證訊息可靠性的做法230
6.2.6訂閱者視角的訊息重複的產生和應對245
6.2.7訊息投遞的其他屬性支持249
6.2.8保證順序的訊息佇列的設計252
6.2.9Push和Pull方式的對比257
第7章軟負載中心與集中配置管理259
7.1初識軟負載中心259
7.2軟負載中心的結構261
7.3內容聚合功能的設計263
7.4解決服務上下線的感知267
7.5軟負載中心的數據分發的特點和設計269
7.5.1數據分發與訊息訂閱的區別269
7.5.2提升數據分發性能需要注意的問題271
7.6針對服務化的特性支持272
7.6.1軟負載數據分組272
7.6.2提供自動感知以外的上下線開關273
7.6.3維護管理路由規則273
7.7從單機到集群274
7.7.1數據統一管理方案275
7.7.2數據對等管理方案276
7.8集中配置管理中心280
7.8.1客戶端實現和容災策略282
7.8.2服務端實現和容災策略284
7.8.3資料庫策略285
第8章構建大型網站的其他要素287
8.1加速靜態內容訪問速度的CDN287
8.2大型網站的存儲支持291
8.2.1分散式檔案系統292
8.2.2NoSQL294
8.2.3快取系統298
8.3搜尋系統301
8.3.1爬蟲問題302
8.3.2倒排索引302
8.3.3查詢預處理304
8.3.4相關度計算304
8.4數據計算支撐304
8.5發布系統307
8.6套用監控系統310
8.7依賴管理系統312
8.8多機房問題分析315
8.9系統容量規劃317
8.10內部私有雲319
後記321

作者簡介

曾憲傑,某電商花名華黎,現任某電商技術部總監。2002年畢業於浙江大學計算機系。2007年加入某電商網平台架構團隊,負責構建某電商自主的訊息中間件系統,同期主導了某電商數據層的創建,這兩個產品也是某電商中間件中較為重要的兩個。2010年下半年起開始負責整個某電商中間件團隊,幫助團隊成為業內知名的Java技術團隊。2012年開始從中間件走向套用系統的研發工作,2013年初負責新組建的某電商技術部。熟悉C++和Java,在多執行緒、並發、網路通信及支撐大型網站的中間件領域有較多經驗,對新技術有濃厚的興趣。致力於帶領團隊在無線、數據、業務 平台和組件化開發方面取得突破。與林昊合著有《OSGi原理與最佳實踐》一書。

名人推薦

通過這本書可以學習到大量構建大型網站系統的核心技術,以及支撐大型網站的Java中間件的必備知識,作者在超大型電子商務網站的多年實戰經驗使得本書的內容極具價值。如果你所在的技術團隊正在因面對大型網站而一籌莫展,或許你可以從這本書中得到啟發:另外,如果想成為Java技術架構師,那么你也不應錯過此書。
——馮大輝(@Fenng) 丁香園CTO
華黎是我的前同事兼好友,聽說他要出版一本書,我就猜到是關於大型網站和中間件的,因為這是他的老本行。在網際網路技術領域,理論永遠過剩,而真正從零構建整個體系的機會少之又少,華黎是規模高速增長、中間件體系快速發展的親歷者、核心工程師,實踐後的理論才更精確、更務實,這是我推薦這本書的理由。
——岳旭強(@岳旭強) 蘑菇街CTO
與憲傑認識多年,也一起共事過不短的時間,我深知他在大型網際網路系統和Java中間件領域不僅有很強的理論基礎,而且有豐富的實戰經驗。終於看到他把多年的積澱匯集成書,由衷地為他感到高興。拿到書稿後,我迫不及待地從頭至尾拜讀了一遍。這應該是國內第一本從基礎知識到構建套用,從理論到實踐,把Java中間件非常系統和完整地闡述清楚的書 此外,書中列舉的大量實踐經驗與很多通用設計思路不同,甚至是相反的。這是因為當面對高並發、高訪問和海量數據時,在學校中學到的知識或普通書本中看到的方法行不通。這些看似古怪或醜陋的方法,是大型網際網路企業用無數血淚換來的寶貴經驗特此推薦給對構建大型網際網路系統感興趣的讀者。
——湯崢嶸(@湯崢嶸一還在路上) 途牛CTO
要用Java構建一個大流量且有著複雜處理流程的網站,中間件技術是必須要用的技術,沒有中問件就無法做到水平擴展,無法做到計算或數據集群的構建,也就無法構建一個大型網站。本書通過解決實際問題一步一步地帶著你細數了用Java構建一個大型網站的各種技術細節和注意事項,講解深入淺出,從系統架構到實際代碼,從基礎理論到實際操作,看得出來作者在中間件技術方面的豐富經驗。這是一本系統的可以讓你少走很多彎路的實戰型技術書。
——陳皓(@左耳朵耗子)阿里巴巴集團資深技術專家
拿到書稿,一讀之下不禁擊節讚嘆!這本書對大型網站發展過程中會遇到的各種架構問題和解決方案的討論和總結,正是我在過去多年的工作中經常碰到和思考的。真是心有戚威焉!本書詳細闡述了解決大型網站架構問題時通常都會採用的方案:服務框架、數據訪問層、訊息中間件、配置管理等,對為什麼要做、如何做、如何權衡得失等進行了非常細緻的介紹,是一本不可多得的好書。雖然本書的內容是基於Java的實現,但在架構層面,對使用任何語言的架構師和開發者都具有重要的參考價值。
——洪強寧(@hongqn) 豆瓣網首席架構師
本書作者是Java套用架構從集中式到分散式的實際參與者。並帶領構建中間件兩年多的時間 本書詳細說明了大型Java網站必備的三利器——服務框架、訊息中間件和數據訪問層——的具體設計和實現方法,其中很多是在架構演進過程中摸爬滾打的實戰經驗和血淚教訓 書中的內容一方面有助於開闊視野,另一方面大量寶貴的實戰經驗可以給需要做類似產品的讀者帶來不小的幫助。
——林昊 阿里巴巴集團資深技術專家

相關詞條

熱門詞條

聯絡我們