【J2EE之web应用】java集群概念
在學(xué)習(xí)web應(yīng)用進(jìn)行部署的時候,遇到一個名詞java集群,(事實上遇到非常多名詞╭(╯^╰)╮~~~)。不懂意思就查一查!
在這里做個筆記!
沒有什么高深見解,就搞明確幾個概念,java集群的特點 。還有什么時候使用。這幾個問題。
基本術(shù)語
假設(shè)查java集群概念同一時候又會得到非常多術(shù)語,最基本的兩個概念是:負(fù)載均衡和失效轉(zhuǎn)移。字面意思各自是將請求進(jìn)行分散和失效的方法或事務(wù)進(jìn)行轉(zhuǎn)移。
越來越多的企業(yè)關(guān)鍵應(yīng)用都必須採用集群技術(shù),實現(xiàn)負(fù)載均衡(Load Balancing)、容錯(Fault Tolerance)和失效轉(zhuǎn)移(Failover)。以達(dá)到系統(tǒng)可用性(High Availability)和可伸縮性(Scalability)的要求。
以下主要介紹幾個術(shù)語解釋。
分布式:
目的
可伸縮性(Scalability):在一些流量非常大的系統(tǒng)中,企業(yè)是沒有辦法對終于用戶數(shù)量的行為進(jìn)行準(zhǔn)確預(yù)測的。這就要求系統(tǒng)能適應(yīng)不斷添加的用戶數(shù)量。提高這樣的并發(fā)會話能力的一種最直接方式就是添加資源,而集群的第二種解決方案是同意一組server進(jìn)行相連,像單個server一樣分擔(dān)處理一個復(fù)雜的任務(wù)。
高可用性(High Availability):在企業(yè)級系統(tǒng)中單一的server并非健壯的解決方式。假設(shè)出現(xiàn)單點失效就會造成非常多不可預(yù)知的損失。比方在銀行正在處理賬單的時候,假設(shè)server暫停幾分鐘。或者一個請求響應(yīng)一小時,后果想想都肉疼。所以如今就須要能不論什么時間進(jìn)行訪問而且可預(yù)期周期時間內(nèi)進(jìn)行響應(yīng)。
集群解決方式就是在集群內(nèi)添加冗余的server。使當(dāng)中不論什么一個server出錯。都能夠通過其它server獲得服務(wù)。從而是系統(tǒng)獲得高可用性。、
技術(shù)
負(fù)載均衡(Load Balancing):這是集群里一個關(guān)鍵性技術(shù),能夠把請求分發(fā)給不同的server。這樣系統(tǒng)的可用性和性能都會提升。負(fù)載均衡器能夠是一個簡單的servlet或者其它硬件。
當(dāng)然負(fù)載均衡器也要運行一些其它的任務(wù)。如“會話膠粘”保證一個請求始終在一個server上,“健康檢查”防止把請求分配到失效的server上。
容錯(Fault Tolerance):1、server實例失效,服務(wù)仍然有效。而且新的請求會被冗余server處理;2、請求在失效server上處理,結(jié)果的正確性會不確定。這也就是說只是有多少錯誤。容錯服務(wù)要確保有嚴(yán)格正確的行為。
失效轉(zhuǎn)移(Failover):這也是集群的還有一項關(guān)鍵技術(shù)。它添加了容錯能力。當(dāng)集群中一個結(jié)點失效后,會在集群里選擇其它結(jié)點繼續(xù)運行。保證任務(wù)處理不會停止。轉(zhuǎn)移到還有一個結(jié)點能夠被顯式的編碼,或是通過底層平臺透明的路由到還有一個server。
等冪方法(Idempotent methods):等冪方法是指這樣一些方法:反復(fù)用同樣的參數(shù)調(diào)用都能得到同樣的結(jié)果。這些方法不會影響系統(tǒng)狀態(tài)。能夠反復(fù)調(diào)用而不用操心改變系統(tǒng)。例 如:getUsername()就是等冪的。而deleteFile就不是。當(dāng)我們討論HTTP Session失效轉(zhuǎn)移和EJB失效轉(zhuǎn)移時,它是一個重要的概念。
java集群什么時候使用
什么類型對象能夠被集群?——僅僅有那些能夠被部署到分布式拓樸結(jié)構(gòu)中的組件。
在我的J2EE代碼中,什么地方會有負(fù)載均衡和失效轉(zhuǎn)移?——僅僅在你調(diào)用分布式組件的方法時。
java集群和分布式這個概念有時候會常常在一起,一般有幾種情況會比較用的多:
1、企業(yè)級項目中。須要利用非常多的server進(jìn)行處理;
2、為保證數(shù)據(jù)安全,對于數(shù)據(jù)的備份;
3、當(dāng)事務(wù)非常多非常多的時候,問題非常多。將問題分化。比如tomcat是一個輕量級的web服務(wù),可是通過集群它也能夠處理很多其它的事情。
結(jié)語:
重新和一個師哥交流,他說的一句話印象 很深刻:第二次總比第一次經(jīng)驗多。當(dāng)有一個不懂的概念。去查資料。請教他人。在這個過程中。也許不會得到什么特別多的技術(shù)經(jīng)驗,可是經(jīng)過N+1,掌握的東西就會越來越多。
總結(jié)
以上是生活随笔為你收集整理的【J2EE之web应用】java集群概念的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux编程之定制带级别的log
- 下一篇: unity3d鼠标拖拽模型,旋转模型