Ehcache JGroups 集群同步数据不同系统出现问题
首先贴点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上结果缓存就没法正常同步
初步判断可能是系统差异造成的,但是不知道到底是什么问题,望遇到过的大神指点迷津
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
时间这个问题明天再去看看 是同一网络
需要明确几个点:
1. 两台主机是否处于同一网络。 broadcast 仅限制在同一网络下,并且路由允许广播包。
2. 主机时间是否同步,相差多少。
3. 打开wireshark or tcpdump查看主机是否收到广播包,收到才能使得程序能读取,另外广播包的代价是很大的,比较适合低写入高读取。