Ehcache JGroups 集群同步数据不同系统出现问题

LiuGangQiang 发布于 2016/09/29 11:20
阅读 422
收藏 0

首先贴点Ehcache的配置文件

<!-- 采用UDP多播方式集群 -->
<cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory"
	properties="connect=UDP(mcast_addr=231.12.21.124;mcast_port=45566;bind_port=33433):PING: MERGE2:FD_SOCK:VERIFY_SUSPECT:pbcast.NAKACK:UNICAST:pbcast.STABLE:FRAG:pbcast.GMS"
	propertySeparator="::" />



<!-- 用户信息 -->
 <cache 
 name="userCache" 
 eternal="false" 
 maxElementsInMemory="500"
 overflowToDisk="false" 
 diskPersistent="false" 
 timeToIdleSeconds="1800"
 timeToLiveSeconds="0" 
 memoryStoreEvictionPolicy="LFU">
 <bootstrapCacheLoaderFactory class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory" properties="bootstrapAsynchronously=true" />
 <cacheEventListenerFactory class="net.sf.ehcache.distribution.jgroups.JGroupsCacheReplicatorFactory"  
                             properties="replicateAsynchronously=true, replicatePuts=true,replicateUpdates=true, replicateUpdatesViaCopy=false,replicateRemovals=true"/>
 </cache>



这配置文件应该没什么问题 按照官网的配置的

但是

现在出现这么个邪门的问题

1.两台tomcat部署在两台Windows上没问题缓存可以正常同步

2.两台tomcat部署在两台Debain上也没问题缓存也可以正常同步

3.两台tomcat一个部署在Windows上一个部署在Debain上结果缓存就没法正常同步

初步判断可能是系统差异造成的,但是不知道到底是什么问题,望遇到过的大神指点迷津

加载中
0
Rcd
Rcd

需要明确几个点:

1. 两台主机是否处于同一网络。 broadcast 仅限制在同一网络下,并且路由允许广播包。

2. 主机时间是否同步,相差多少。

3. 打开wireshark or tcpdump查看主机是否收到广播包,收到才能使得程序能读取,另外广播包的代价是很大的,比较适合低写入高读取。

LiuGangQiang
LiuGangQiang
时间这个问题明天再去看看 是同一网络
返回顶部
顶部