当前位置: 代码迷 >> Java Web开发 >> ehcache2.4的分布式集群配备方法
  详细解决方案

ehcache2.4的分布式集群配备方法

热度:7418   发布时间:2013-02-25 21:08:00.0
ehcache2.4的分布式集群配置方法
本帖最后由 ITFreeMan 于 2012-04-13 16:20:31 编辑 首先感谢各位关注本帖。

说明下我的部署情况:

主机 实际地址IP 端口号 server名

rapweb1 10.2.11.170 7001 adminServer

rapweb1 10.2.11.170 18080 rasServerA1
rapweb1 10.2.11.170 18081 rasServerA2
rapweb2 10.2.11.171 18080 rasServerB1
rapweb2 10.2.11.171 18081 rasServerB2
================================================
请问这种部署,我应该用什么样的ehcache配置方式来实现缓存的同步,具体的配置又应该是怎么样的呢?

我测试过以下方式。
1、RMI的多播方式,不能达到同步的目的。配置如下:
170,171的ehcache.xml都是如下配置

<cacheManagerPeerListenerFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory" />

<cacheManagerPeerProviderFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
properties="peerDiscovery=automatic,
            multicastGroupAddress=230.0.0.1,
   multicastGroupPort=4446" /> 


2、RMI的点对点方式,同样不能同步。配置如下:
170的ehcache.xml

<cacheManagerPeerProviderFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" 
 properties="peerDiscovery=manual,
 rmiUrls=//10.2.11.171:18080/userCache />
<cacheManagerPeerListenerFactory 
class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory" 
properties="hostName=10.2.11.170,port=18080,socketTimeoutMillis=2000" /> 

171的ehcache.xml

<cacheManagerPeerProviderFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" 
 properties="peerDiscovery=manual,
 rmiUrls=//10.2.11.170:18080/userCache />
<cacheManagerPeerListenerFactory 
class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory" 
properties="hostName=10.2.11.171,port=18080,socketTimeoutMillis=2000" /> 


3、也试过jgroups的配置方式:

<cacheManagerPeerProviderFactory
class="net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory"
properties="
connect=
TCP(start_port=18080):
TCPPING(
initial_hosts=10.2.11.170[18080],10.2.11.171[18080];
port_range=10;
timeout=3000;
num_initial_members=2;
up_thread=true;
down_thread=true
):
VERIFY_SUSPECT(timeout=1500;down_thread=false;up_thread=false):
pbcast.NAKACK(down_thread=true;up_thread=true;gc_lag=100;retransmit_timeout=3000):
pbcast.GMS(
join_timeout=5000;
join_retry_timeout=2000;
shun=false;
print_local_addr=false;
down_thread=true;
up_thread=true
)"
propertySeparator="::" />



我接触ehcache时间不多,是新手,请各位多多指教!每次问题都没人回答,是我提问题的方式有问题吗?我也正纳闷呢,兄弟现在解决了吗?