本書介紹了java分布式應(yīng)用的眾多知識點,基于java實現(xiàn)網(wǎng)絡(luò)通信,編寫高性能Java應(yīng)用,一方面結(jié)合了作者的開發(fā)經(jīng)驗介紹,另一方面提供了進一步學(xué)習(xí)這些知識點的參考資料?梢越o學(xué)習(xí)java應(yīng)用知識點的人提供一定的幫助跟指引。
分布式架構(gòu)的演進
系統(tǒng)架構(gòu)演化歷程-初始階段架構(gòu)
初始階段 的小型系統(tǒng) 應(yīng)用程序、數(shù)據(jù)庫、文件等所有的資源都在一臺服務(wù)器上通俗稱為LAMP
特征:
應(yīng)用程序、數(shù)據(jù)庫、文件等所有的資源都在一臺服務(wù)器上。
描述:
通常服務(wù)器操作系統(tǒng)使用linux,應(yīng)用程序使用PHP開發(fā),然后部署在Apache上,數(shù)據(jù)庫使用Mysql,匯集各種免費開源軟件以及一臺廉價服務(wù)器就可以開始系統(tǒng)的發(fā)展之路了。
系統(tǒng)架構(gòu)演化歷程-應(yīng)用服務(wù)和數(shù)據(jù)服務(wù)分離
好景不長,發(fā)現(xiàn)隨著系統(tǒng)訪問量的再度增加,webserver機器的壓力在高峰期會上升到比較高,這個時候開始考慮增加一臺webserver
特征:
應(yīng)用程序、數(shù)據(jù)庫、文件分別部署在獨立的資源上。
描述:
數(shù)據(jù)量增加,單臺服務(wù)器性能及存儲空間不足,需要將應(yīng)用和數(shù)據(jù)分離,并發(fā)處理能力和數(shù)據(jù)存儲空間得到了很大改善。
系統(tǒng)架構(gòu)演化歷程-使用緩存改善性能
特征:
數(shù)據(jù)庫中訪問較集中的一小部分數(shù)據(jù)存儲在緩存服務(wù)器中,減少數(shù)據(jù)庫的訪問次數(shù),降低數(shù)據(jù)庫的訪問壓力。
描述:
系統(tǒng)訪問特點遵循二八定律,即80%的業(yè)務(wù)訪問集中在20%的數(shù)據(jù)上。
緩存分為本地緩存和遠程分布式緩存,本地緩存訪問速度更快但緩存數(shù)據(jù)量有限,同時存在與應(yīng)用程序爭用內(nèi)存的情況。