使用rmi实现ehcache集群模式
RMi集群模式
你如何知道集群環(huán)境中的其他緩存?
? 分布式傳送的消息是什么形式?
? 什么情況需要進(jìn)行復(fù)制?增加(Puts),更新(Updates)或是失效(Expiries)?
? 采用什么方式進(jìn)行復(fù)制?同步還是異步方式?
?
1、正確的元素類型:只有可序列化的元素可以進(jìn)行復(fù)制。一些操作,比如移除,只需要元素的鍵值而不用整個(gè)元素;在這樣的操作中即使元素不是可序列化的但鍵值是可序列化的也可以被復(fù)制。
2、成員發(fā)現(xiàn)(Peer Discovery):Ehcache進(jìn)行集群的時(shí)候有一個(gè)cache組的概念。每個(gè)cache都是其他cache的一個(gè)peer,沒(méi)有主cache的存在。成員發(fā)現(xiàn)(Peer Discovery)正是用來(lái)解決 “你如何知道集群環(huán)境中的其他緩存?” 這個(gè)問(wèn)題的。Ehcache提供了兩種機(jī)制用來(lái)進(jìn)行成員發(fā)現(xiàn),即:自動(dòng)成員發(fā)現(xiàn)和手動(dòng)成員發(fā)現(xiàn)。要使用一個(gè)內(nèi)置的成員發(fā)現(xiàn)機(jī)制要在ehcache的配置文件中指定cacheManagerPeerProviderFactory元素的class屬性為
net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory。
<cacheManagerPeerProviderFactoryclass="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"properties="peerDiscovery=manual,rmiUrls=//127.0.0.1:5000/userCache"></cacheManagerPeerProviderFactory><!-- 配置 rmi 集群模式 --><cacheManagerPeerListenerFactoryclass="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"properties="hostName=127.0.0.1,port=4000,socketTimeoutMillis=120000" /> <!-- 多臺(tái)機(jī)器配置 --><cacheManagerPeerProviderFactoryclass="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"properties="peerDiscovery=manual,rmiUrls=//127.0.0.1:4000/userCache"></cacheManagerPeerProviderFactory><cacheManagerPeerListenerFactoryclass="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"properties="hostName=127.0.0.1,port=5000,socketTimeoutMillis=120000" />?
總結(jié)
以上是生活随笔為你收集整理的使用rmi实现ehcache集群模式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 枚举结构定义
- 下一篇: redis常见应用场景