分布式緩存組件技術(shù)_第1頁(yè)
分布式緩存組件技術(shù)_第2頁(yè)
分布式緩存組件技術(shù)_第3頁(yè)
分布式緩存組件技術(shù)_第4頁(yè)
分布式緩存組件技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、分布式緩存組件技術(shù)緩存是什么,解決什么問(wèn)題? Cache是高速緩沖存儲(chǔ)器 一種特殊的存儲(chǔ)器子系統(tǒng),其中復(fù)制了頻繁使用的數(shù)據(jù)以利于快速訪問(wèn) 凡是位于速度相差較大的兩種硬件/軟件之間的,用于協(xié)調(diào)兩者數(shù)據(jù)傳輸速度差異的結(jié)構(gòu),均可稱之為 Cache基于Web應(yīng)用的系統(tǒng)架構(gòu)圖數(shù)據(jù)庫(kù)應(yīng)用服務(wù)器Web服務(wù)器存儲(chǔ)設(shè)備瀏覽器Web應(yīng)用架構(gòu)操作系統(tǒng)的文件系統(tǒng)Web應(yīng)用系統(tǒng)存在哪些速度差異? 讀取文件系統(tǒng) 讀取磁盤 讀取數(shù)據(jù)庫(kù)內(nèi)存 讀取文件系統(tǒng) 讀取應(yīng)用內(nèi)存 訪問(wèn)數(shù)據(jù)庫(kù)服務(wù)器 讀取靜態(tài)文件 訪問(wèn)應(yīng)用服務(wù)器 讀取瀏覽器緩存 訪問(wèn)網(wǎng)站緩存技術(shù)分類 操作系統(tǒng)磁盤緩存 減少磁盤機(jī)械操作 數(shù)據(jù)庫(kù)緩存 減少文件系統(tǒng)I/O 應(yīng)用

2、程序緩存 減少對(duì)數(shù)據(jù)庫(kù)的查詢 Web服務(wù)器緩存 減少應(yīng)用服務(wù)器請(qǐng)求 客戶端瀏覽器緩存 減少對(duì)網(wǎng)站的訪問(wèn)常用的應(yīng)用程序緩存組件概述 OSCache OSCache是個(gè)一個(gè)廣泛采用的高性能的J2EE緩存框架,OSCache能用于任何Java應(yīng)用程序的普通的緩存解決方案。 官方網(wǎng)站 http:/ 常用的應(yīng)用程序緩存組件概述 JCS JCS(Java Caching system)是一個(gè)用分布式的緩存系統(tǒng),是基于服務(wù)器的java應(yīng)用程序。它是通過(guò)提供管理各種動(dòng)態(tài)緩存數(shù)據(jù)來(lái)加速動(dòng)態(tài)web應(yīng)用。 官方網(wǎng)站 /turbine/jcs/ 。 常用的應(yīng)用程序緩存組

3、件概述 EHCache EHCache 是一個(gè)純java的在進(jìn)程中的緩存,主要特性有:快速; 簡(jiǎn)單; 多種緩存策略; 緩存數(shù)據(jù)有兩級(jí):內(nèi)存和磁盤,因此無(wú)需擔(dān)心容量問(wèn)題; 緩存數(shù)據(jù)會(huì)在虛擬機(jī)重啟的過(guò)程中寫入磁盤; 可以通過(guò) RMI、可插入 API 等方式進(jìn)行分布式緩存; 具有緩存和緩存管理器的偵聽接口; 支持多緩存管理器實(shí)例,以及一個(gè)實(shí)例的多個(gè)緩存區(qū)域;提供 Hibernate 的緩存實(shí)現(xiàn)。 官方網(wǎng)站http:/。常用的應(yīng)用程序緩存組件概述 Memcached Memcached是一種集中式Cache,支持分布式橫向擴(kuò)展。總結(jié)幾個(gè)它的特點(diǎn)來(lái)理解一下它的優(yōu)點(diǎn)和限制。內(nèi)存存儲(chǔ),不言而喻,速度快,對(duì)于

4、內(nèi)存的要求高,不指出的話所緩存的內(nèi)容非持久化。對(duì)于CPU要求很低,所以常常采用將Memcached服務(wù)端和一些CPU高消耗Memory低消耗應(yīng)用部屬在一起。常用的應(yīng)用程序緩存組件概述 Cache4J Cache4J是一個(gè)接口簡(jiǎn)單,可以快速上手,基于BSD許可的開源緩存軟件。Cache4J有以下特點(diǎn):暫只只是內(nèi)存緩存;多線程環(huán)境設(shè)計(jì);2種實(shí)現(xiàn):synchronized, blocking;支持LFU, LRU, FIFO算法。支持磁盤存儲(chǔ),分布式引用,以及LFU2, LRU2等算法將是Cache4J接下來(lái)要實(shí)現(xiàn)的功能;另外,該軟件的使用指南和API文檔均是俄文 。 官方網(wǎng)站:http:/ 。 E

5、hCache EhCache 從 1.7 版本開始,支持五種集群方案,分別是:Terracotta RMI JMS JGroups EhCache Server 目前其中的三種是最為常用集群方式,分別是 RMI、JGroups 以及 EhCache Server 。下面主要對(duì)這三種常用的集群方式作簡(jiǎn)單的介紹分布式解決方案RMI 集群模式Rmi是 Java 的一種遠(yuǎn)程方法調(diào)用技術(shù),是一種點(diǎn)對(duì)點(diǎn)的基于 Java 對(duì)象的通訊方式。EhCache 從 1.2 版本開始就支持 RMI 方式的緩存集群。在集群環(huán)境中 EhCache 所有緩存對(duì)象的鍵和值都必須是可序列化的,也就是必須實(shí)現(xiàn)java.io.Se

6、rializable 接口,這點(diǎn)在其它集群方式下也是需要遵守的。分布式解決方案RMI 集群模式應(yīng)用程序結(jié)構(gòu)圖 分布式解決方案JGroups 集群模式 EhCache 從 1.5. 版本開始增加了 JGroups 的分布式集群模式。與 RMI 方式相比較, JGroups 提供了一個(gè)非常靈活的協(xié)議棧、可靠的單播和多播消息傳輸,主要的缺點(diǎn)是配置復(fù)雜以及一些協(xié)議棧對(duì)第三方包的依賴。 JGroups 也提供了基于 TCP 的單播 ( Unicast ) 和基于 UDP 的多播 ( Multicast ) ,對(duì)應(yīng) RMI 的手工配置和自動(dòng)發(fā)現(xiàn)。JGroups 的配置要比 RMI 復(fù)雜得多,但也提供更多的

7、微調(diào)參數(shù),有助于提升緩存數(shù)據(jù)復(fù)制的性能。詳細(xì)的 JGroups 配置參數(shù)的具體意義可參考 JGroups 的配置手冊(cè)。 分布式解決方案JMS與與JGroups 集群模式的配置文件 uJMS的手工配置信息如下:。 uJMS通過(guò)多播( multicast )來(lái)維護(hù)集群中的所有有效節(jié)點(diǎn)。這也是最為簡(jiǎn)單而且靈活的方式,與手工模式不同的是,每個(gè)節(jié)點(diǎn)上的配置信息都相同,大大方便了節(jié)點(diǎn)的部署,避免人為的錯(cuò)漏出現(xiàn) :其中需要指定節(jié)點(diǎn)發(fā)現(xiàn)模式 peerDiscovery 值為 automatic 自動(dòng);同時(shí)組播地址可以指定 D 類 IP 地址空間,范圍從 到 55

8、中的任何一個(gè)地址。u在需要進(jìn)行緩存數(shù)據(jù)復(fù)制的區(qū)域(Region)上配置如下即可 : 分布式解決方案JMS與與JGroups 集群模式的配置文件 JGroups 也提供了基于 TCP 的單播 ( Unicast ) 和基于 UDP 的多播 ( Multicast ) ,對(duì)應(yīng) RMI 的手工配置和自動(dòng)發(fā)現(xiàn)。使用單播方式需要指定其它節(jié)點(diǎn)的主機(jī)地址和端口,下面是兩個(gè)節(jié)點(diǎn),并使用了單播方式的配置: 分布式解決方案使用多播方式配置如下: 分布式解決方案EhCache Server集群模式 與前面介紹的兩種集群方案不同的是, EhCache Server 是一個(gè)獨(dú)立的緩存服務(wù)器,其內(nèi)部使用 EhCache

9、做為緩存系統(tǒng),可利用前面提到的兩種方式進(jìn)行內(nèi)部集群。對(duì)外提供編程語(yǔ)言無(wú)關(guān)的基于 HTTP 的 RESTful 或者是 SOAP 的數(shù)據(jù)緩存操作接口。 。 EhCache Server 應(yīng)用架構(gòu)圖應(yīng)用架構(gòu)圖 分布式解決方案EhCache 以上我們介紹了三種 EhCache 的集群方案,除了第三種跨編程語(yǔ)言的方案外,EhCache 的集群對(duì)應(yīng)用程序的代碼編寫都是透明的,程序人員無(wú)需考慮緩存數(shù)據(jù)是如何復(fù)制到其它節(jié)點(diǎn)上。既保持了代碼的輕量級(jí),同時(shí)又支持龐大的數(shù)據(jù)集群。EhCache 可謂是深入人心。2009 年年中,Terracotta 宣布收購(gòu) EhCache 產(chǎn)品。Terracotta 公司的產(chǎn)品

10、 Terracotta 是一個(gè) JVM 級(jí)的開源集群框架,提供 HTTP Session 復(fù)制、分布式緩存、POJO 群集、跨越集群的 JVM 來(lái)實(shí)現(xiàn)分布式應(yīng)用程序協(xié)調(diào)。最近 EhCache 主要的改進(jìn)都集中在跟 Terracotta 框架的集成上,這是一個(gè)真正意義上的企業(yè)級(jí)緩存解決方案。 分布式解決方案Oscache u支持jms和jgroup的集群解決方案 ,與Ehcache的集群方案中的jms和jgroup方案一樣。 u從以上幾種集群解決方案,可以看出,都是通過(guò)配置文件來(lái)實(shí)現(xiàn)的,jms的配置比較簡(jiǎn)單,但如果有新的節(jié)點(diǎn)加入,需要修改所有節(jié)點(diǎn)上的配置文件,靈活性不夠,比較麻煩,jgroups

11、配置比較麻煩,而且要依賴于第三方庫(kù),但是修改起來(lái)要方便,靈活性比較高。Ehcache server提供獨(dú)立的緩存服務(wù)器,內(nèi)部又可以通過(guò)集群配置,可通過(guò)http和soap等直接訪問(wèn)。 分布式解決方案Memcached uMemcached默認(rèn)不支持集群,它是集中式的Cache,因此它存在單點(diǎn)問(wèn)題(雖然數(shù)據(jù)可以分散到多臺(tái)服務(wù)器上,但是還會(huì)丟失部分?jǐn)?shù)據(jù))。為了解決單點(diǎn)問(wèn)題,Memcache客戶端支持配置集群,可以將部署在一臺(tái)機(jī)器上的多個(gè)Memcached服務(wù)端或者部署在多個(gè)機(jī)器上的Memcached服務(wù)端組成一個(gè)虛擬的服務(wù)端,對(duì)于調(diào)用者來(lái)說(shuō)完全屏蔽和透明。提高的單機(jī)器的內(nèi)存利用率,也提供了scale out的方式。其結(jié)構(gòu)圖

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論