分布式Java應用:基礎與實踐
  • 推薦0
  • 收藏7
  • 瀏覽1.8K

分布式Java應用:基礎與實踐

林昊 (作者) 

  • 書  號:978-7-121-10941-6
  • 出版日期:2010-06-11
  • 頁  數:296
  • 開  本:16(185*243)
  • 出版狀態:上市銷售
  • 維護人:管理員
電子書 ¥9.90
購買電子書
紙質版 ¥49.80

相關圖書

深入理解Apache Dubbo與實戰

詣極 林琳 (作者)

本書首先介紹Dubbo的簡史、后續的規劃和整體架構大圖;接著介紹Dubbo環境配置,并基于Dubbo開發第一款應用程序;然后介紹Dubbo內置的常用注冊中心的實...

¥79.00

RabbitMQ實戰指南

朱忠華 (作者)

本書從消息中間件的概念和RabbitMQ的歷史切入,主要闡述RabbitMQ的安裝、使用、配置、管理、運維、原理、擴展等方面的細節。本書大致可以分為基礎篇、進階...

¥79.00

Spring Boot 2精髓:從構建小系統到架構分布式大系統

李家智 (作者)

Spring Boot是目前Spring技術體系中炙手可熱的框架之一,既可用于構建業務復雜的企業應用系統,也可以開發高性能和高吞吐量的互聯網應用。Spring ...

¥79.00

架構探險:從零開始寫分布式服務框架

李業兵 李業兵 (作者)

分布式服務框架目前已經是互聯網公司實現SOA服務化架構的必備基礎設施,對于一般的開發而言,自己要獨立實現一個分布式服務框架,還是有相當的難度的。本書圍繞如何從零...

 

Apache Kafka源碼剖析

徐郡明 (作者)

本書以 Kafka 0.10.0 版本源碼為基礎,針對 Kafka的架構設計到實現細節進行詳細闡述。本書共5 章,從 Kafka 的應用場景、源碼環境搭建開始逐...

¥89.00

人人都是架構師:分布式系統架構落地與瓶頸突破

高翔龍 (作者)

本書注重大型網站技術架構方案的落地,以及實戰實施。本書不僅會從宏觀的角度去闡述大型電商網站系統的架構設計,更重要的是,會結合筆者實際的工作經驗,深入剖析大型電商...

¥69.00
本書介紹分布式 Java應用涉及的知識點,分為基于 Java實現網絡通信、 RPC;基于 SOA實現大型分布式 Java應用;編寫高性能 Java應用;構建高可用、可伸縮的系統 4個部分,共 7章內容。作者結合自己在淘寶網的實際工作經驗展開論述,既可作供初學者學習,也可供同行參考。
這本書填補了國內技術圖書在構建分布式Java應用領域的空白,林昊在書中總結了在自學和工作實踐中積累的實踐經驗,分享給廣大Java程序員。臺灣架構大師高煥堂、《程序員》總編孟巖、Ajaxcn.org網站站長李錕看過本書目錄后,都極力推薦我們出版。
軟件系統得到用戶認可后,訪問量通常會產生爆發性的增長,互聯網網站,例如淘寶、豆瓣等更是如此。在不斷完善功能和多元化發展的同時,如何應對不斷上漲的訪問量、數據量是互聯網應用面臨的最大挑戰。
對于用戶而言,除了功能以外,網站訪問夠不夠快,網站能否持續提供服務,也是影響用戶訪問量的重要因素,因此如何保證網站的高性能,及高可用也是我們要關注的重點。
為了支撐巨大的訪問量和數據量,通常需要海量的機器,例如現在的google 已經擁有了百萬臺以上的機器,這些機器耗費了巨大的成本(硬件采購成本、機器的電力成本、網絡帶寬成本等)。網站規模越大,運維成本就越高,這意味著商業公司所能獲得的利潤越低,而通常這會導致商業公司必須從多種角度關注如何降低網站運維成本。
本書的目的是從以上幾個問題出發,介紹搭建高性能、高可用以及可伸縮的分布式Java 應用所需的關鍵技術。
目標讀者
本書涵蓋了編寫高性能、高可用以及可伸縮的分布式Java 應用所需的知識點,適合希望掌握這些知識點的讀者。
在介紹各個知識點時,作者盡量結合自己的工作,分享經驗與心得,希望能夠對那些有相關工作經驗的讀者有所幫助。
內容導讀
本書按照介紹的知識點分為五個部分:第一部分介紹基于Java 實現系統間交互的相關知識,這些知識在第1 章中進行介紹;第二部分為基于SOA 構建大型分布式Java 應用的知識點,這些在第2 章中介紹;第三部分為高性能Java 應用的相關知識,這些在第3、4、5 章中介紹;第四部分介紹高可用Java應用的相關知識,這些在第6 章中介紹;第五部分介紹可伸縮Java 應用,這些在第7 章介紹,讀者也可根據自己的興趣選擇相應的章節進行閱讀。
網站業務多元化的發展會帶來多個系統之間的通信問題,因此如何基于Java 實現系統間的通信是首先要掌握的知識點,在本書的第1 章中介紹了如何基于Java 實現TCP/IP(BIO、NIO)、UDP/IP(BIO、NIO)的系統間通信、以及如何基于RMI、Webservice 實現系統間的調用,在基于這些技術實現系統間通信和系統間調用時,性能也是要考慮的重點因素,本章也講解了如何實現高性能的網絡通信。
在解決了系統之間的通信問題后,多元化的發展帶來的另外一個問題是多個系統間出現了一些重復的業務邏輯,這就要將重復的業務邏輯抽象為一個系統。這樣演變后,會出現多個系統,這些系統如何保持統一、標準的交互方式是要解決的問題,SOA 無疑是首選的方式,在本書的第2 章中介紹了如何基于SOA 來實現統一、標準的交互方式。
高性能是本書關注的重點,Java 程序均運行在JVM 之上,因此理解JVM 是理解高性能Java 程序所必須的。本書的第3 章以Sun Hotspot JVM 為例講述了JVM 執行Java 代碼的機制、內存管理的機制,以及多線程支持的機制。執行代碼的機制包含了Sun hotspot 將Java 代碼編譯為class 文件,加載class文件到JVM 中,以解釋方式執行class,以及client 模式和server 模式編譯為機器碼方式執行class 的實現方式;內存管理的機制包含了Sun hotspot 內存分配以及回收的機制,內存分配涉及的主要為堆上分配、TLAB 分配以及棧上分配。內存回收涉及的有常見的垃圾回收算法、Sun Hotspot JVM 中新生代可用的GC、舊生代可用的GC 及G1;多線程支持的機制包含了多線程時資源的同步機制,以及線程之
間交互的機制。
除 JVM 外,在編寫分布式Java 應用時,通常要使用到一些Sun JDK 的類庫。如何合理地根據需求來選擇使用哪些類,以及這些類是如何實現的,是編寫高性能、高可用的Java 應用必須掌握的。在本書的第4 章中介紹了Sun JDK中常用的集合包的集合類、并發包中的常用類(例如ConcurrentHashMap、ThreadPoolExecutor)、序列化/反序列化的實現方式,同時對這些類進行了基準的性能測試和對比。
掌握 JVM 和使用到的類庫是編寫高性能Java 應用的必備知識,但除了編寫之外,通常還會面臨對已有系統進行調優。調優是個非常復雜的過程,在本書的第5 章中介紹了尋找系統性能瓶頸的一些方法以及針對這些瓶頸常用的一些調優方法。尋找性能瓶頸的方法主要是根據系統資源的消耗尋找對應問題代碼的方法,常用的一些調優方法主要是降低鎖競爭、降低內存消耗等。
除了高性能外,高可用也是大型Java 應用要關注的重點,在本書的第6 章中介紹了一些構建高可用系統常用的方法,例如負載均衡技術、構建可容錯的系統、對資源使用有限制的系統等。
在面對不斷訪問的訪問量和數據量時,最希望能做到的是僅升級硬件或增加機器就可支撐,但要達到這個效果,在軟件上必須付出巨大的努力。本書的第7 章介紹了構建可伸縮系統的一些常用方法,主要包括支持垂直伸縮時常用的降低鎖競爭等方法;以及支持水平伸縮時常用的分布式緩存、分布式文件系統等方法。

目錄

目錄 閱讀
第1章 分布式 Java應用
第2章 大型分布式Java應用與SOA
第3章 深入理解JVM
第4章 分布式Java應用與Sun JDK類庫
第5章 性能調優
第6章 構建高可用的系統
第7章 構建可伸縮的系統

讀者評論

電子書版本

  • PDF

圖書類別

0k000澳客网竞彩