oscache的集群本身存在BUG,下面是OSCACHE的集群步骤,严格按照官方文档进行,但最后会在通信时报错:
oscache的集群配置可以参考oscache的配置文档,下面讲一下在进行集群配置时应该注意的问题。
版本问题:
版本号:
oscache-2.4.1+jgroups2.8
注意:
oscache下载后,你会发现里面有一个jgroups的jar包,请不要使用oscache自带的jgroups包,去jgroups网站下载一个比较稳定的。
配置问题:
oscache的配置文档中打开集群的配置,cache.cluster.properties的值不要去修改,使用默认的
cache.event.listeners=com.opensymphony.oscache.plugins.clustersupport.JavaGroupsBroadcastingListener
cache.cluster.properties= UDP(mcast_addr=231.12.21.132;mcast_port=45566;ip_ttl=32;mcast_send_buf_size=150000;mcast_recv_buf_size=80000):PING(timeout=2000;num_initial_members=3):MERGE2(min_interval=5000;max_interval=10000):FD_SOCK:VERIFY_SUSPECT(timeout=1500):pbcast.NAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800;max_xmit_size=8192):UNICAST(timeout=300,600,1200,2400):pbcast.STABLE(desired_avg_gossip=20000):FRAG(frag_size=8096;down_thread=false;up_thread=false):pbcast.GMS(join_timeout=5000;join_retry_timeout=2000;shun=false;print_local_addr=true)
如果运行报异常:类似 配置协议栈失败
异常解决:
1.log日志包问题:
如果你项目中有log4j包,最好去apache网站下载http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.16/apache-log4j-1.2.16.tar.gz 因为可能因为各开源组件对log4的功能做过修改,或版本问题,oscache加载jgroups监听的时候报异常,导致jgroups协议栈加载失败。
2.IP版本问题:
如果你机器支持ipv6,而你的机器ip地址使用的ipv4,那么请在jvm运行时加上参数:
-Djava.net.preferIPv4Stack=true
最后注意:
配置完成后,运行两台集群的机器,测试集群功能,结果失败,查看后台日志,会发现机器A 上的jgroups已经成功将数据组播到另一台机器B,B机器接收到的数据包正确,但是在B机器上 OSCACHE将接收到的组播数据更新时,产生异常。
总结:OSCACHE本身的集群功能存在BUG,且OSCACHE是通过组播方式实现缓存的同步,这样在N台机器进行集群时,如果数据更新频率过于频繁会存在网络爆炸的风险。 OSCACHE适合单台服务器的应用上面,不适合进行大规模的集群,如果使用集群,还是考虑使用MEMCACHED吧
分享到:
相关推荐
jQuery+json+struts2+spring3(事务,AOP,IoC即DI)+hibernte3+EhCache+oscache+proxool+MySQL+SiteMesh+Gzip lj例子
在IT行业中,`oscache`、`SSI`和`Velocity`是三种常见的Web开发技术和工具,它们各自在网站性能优化、动态内容处理和模板引擎方面发挥着重要作用。下面将详细介绍这三个概念及其相互间的关联。 首先,`osCache`是...
JGroups集群技术概述 JGroups是一个用于建立可靠的组播通信的工具包,它提供了灵活的、可定制的协议栈,以满足不同的需求。JGroups支持多种传输协议,包括UDP、TCP和JMS等。在JGroups中,消息传输可以保证可靠性,...
osCache使用了基于JGroups的组通信协议来实现集群间的通信,JGroups提供了可靠的组成员发现和消息传递机制。 三、数据同步机制 osCache的数据同步策略主要基于两种机制:推送(Push)和拉取(Pull)。 1. 推送...
在SSM项目中引入OScache,可以在服务器端对经常访问的页面进行缓存,提高页面加载速度,减轻服务器压力。配置OScache主要包括设置缓存策略、缓存范围以及缓存失效策略等。 【Freemarker模板】 Freemarker是一个基于...
- osCache还支持集群环境,通过JGroups等工具实现分布式缓存,使得多个节点间的数据共享成为可能。 5. **osCache的使用注意事项**: - 考虑缓存的更新策略:当数据库中的数据发生变化时,需要确保缓存能够及时...
Spring MVC、Mybatis、Spring 和 oscache 是Java Web开发中常用的四大框架,它们协同工作可以构建高效、可扩展的应用程序。下面将详细讲解这四个框架的配置文件以及它们在实际项目中的作用。 **Spring MVC** Spring...
配合oscache缓存技术,可以进一步提升系统的性能。以下是这些技术的详细解释和配置要点。 **Spring MVC** Spring MVC是Spring框架的一部分,它是一个用于构建Web应用程序的模型-视图-控制器(MVC)架构。Spring MVC...
当 web 应用与数据库通信出现问题时,OSCache 可以使用缓存内容向用户提供服务,从而赢得时间进行系统维护或采取其他补救措施。 **三、OSCache 组件的安装** 安装 OSCache 主要涉及对 web 应用的配置。一般步骤...
然而,使用oscache时也需要注意一些问题。例如,缓存的大小设置需要根据系统的内存资源和数据特性来确定,过大可能导致内存溢出,过小则可能无法充分利用缓存的优势。此外,缓存数据的更新策略需谨慎设计,以免出现...
4. **支持集群**:无需修改代码,即可配置集群缓存数据。 5. **缓存过期策略**:提供灵活的过期控制,包括可插入的刷新策略。 **主要特征** - **兼容多种Web服务器**:已知兼容OrionServer、JRun、Weblogic、...
- **缓存同步**: 在分布式环境中,osCache可以通过JGroups实现缓存的同步,确保多节点间缓存的一致性。 - **缓存监听器**: 可以注册监听器(CacheEventListener),在缓存项的添加、更新、移除等事件发生时执行相应...
在IT行业中,数据库操作是应用开发中的重要环节,而Hibernate作为...不过,需要注意的是,缓存虽然能提升性能,但过度依赖缓存可能导致数据一致性问题,因此在设计缓存策略时,应根据具体业务场景进行合理选择和配置。
虽然主要是单机缓存解决方案,但OSCache也可以扩展到分布式环境,通过集群共享缓存,进一步提高系统可扩展性和可用性。 总之,OSCache-2.4.1是一个强大的缓存解决方案,旨在提高JSP应用的性能,减轻数据库压力,...
osCache不仅可以用于Web应用,也可以用于任何Java应用程序,支持集群环境,提供了丰富的功能和配置选项。 1. **osCache的基本概念** - **缓存**:缓存是一种技术,用于临时存储频繁访问的数据,以便快速响应用户的...
OSCache作为一款广泛使用的缓存框架,主要解决了Java应用中的数据重复计算和加载问题,从而显著提高系统响应速度。其特性包括但不限于: 1. 缓存任何对象:无论是部分JSP页面、HTTP请求,还是自定义的Java对象,...
**osCache 2.1.1 全功能详解** osCache 是一款强大的缓存解决方案,尤其在Java开发中被广泛使用。它不仅提供了类似于Map的数据结构操作,还具备内置的集群支持,使得数据缓存可以在分布式环境中高效地进行。这个...
此外,OSCache还支持集群环境下的缓存同步,通过`ClusteredCache`接口,可以在多台服务器之间共享缓存数据,实现分布式缓存。这在大型分布式系统中非常关键,因为它能确保数据的一致性和可用性。 OSCache的配置主要...
OSCache标记库由... (4) 支持集群:集群缓存数据能被单个的进行参数配置,不需要修改代码。 (5) 缓存过期:你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略(如果默认性能不能满足需要时)。
OSCache是开源的Java缓存解决方案,主要用于提高Web应用程序的性能和响应速度。它是由OpenSymphony团队开发的,能够缓存对象、SQL查询结果甚至整个页面,避免了频繁访问数据库或执行昂贵的计算,从而降低了系统负载...