■Cache-Container
cache是JBoss Datagrid的核心,使用cache之前,先了解一下另外一个概念,那就是cache-Container。Cache-Container是Cache的上层,一个Cache-Container中会有多个Cache。而一个Datagrid实例中也可以存在多个Cacher-Container.
■Cache的模式
Cache的模式主要可以分为本地(local)模式和集群(cluster)模式.
1.本地模式
以简单的单结点缓存模式动作。本地模式是不需要扩展以及failover的场合下效果最好的缓存方式,相比于cluster模式,性能要高。以local-cache要素在cache-conatiner要素中定义的。
2.集群模式
集群模式又可以分为如下几种集群模式,根据不同的需求可以选择不同cache模式,但是我觉得最常用的应该是分布式模式。
1)复制(replication)模式
当数据被添加到集群中的一个节点上时,将会复制到集群中其他所有节点上,同样在网格中的任何一个节点可以获取集群中所有的数据。它是以replicated-cache要素定义在cache-container要素里的。
使用场景:
复制模式用来在集群中共享状态,但复制模式的性能考虑集群网格的个数应该小于10,这是因为集群中任何一个点上状态的变化都需要复制到其他的节点上,如果集群网格中节点太多,大量的消息需要在节点之间进行传输,网络传输的压力会影响集群的性能。复制模式中消息通常采用多播的方式传播,这可以在一定程度上提高性能。复制模式中,GET操作的返回都是从本地返回而不需要远程调运,这使得查询速度更快,这也是复制模式的优势所在。
2)无效(invalidation)模式
集群的各节点之间数据不共有,当在集群中的某个结点上将存的一条数据修改后,会通知拥有该数据的结点将之前无效的数据删除。它是以invalidation-cache要素定义在cache-container要素里的。
使用场景:
此缓存模式只有在其他的永久存储,如关系型数据库存在时才有意义,该模式通常用来优化那些读操作频繁的系统,使用Infinispan作为基于数据库之上的缓存,这样防止每次读取状态都需要进入数据库。如果缓存配置为失效而不是复制,每次当一个节点上的数据发生改变,集群中的其他节点会收到一条消息,通知他们该数据已经陈旧了,应该从缓存中驱逐。
3)分布式(distribution)模式
缓存条目保存在网格节点的一个子集上,而不是网格中每个节点都保存一份缓存条目。通常为了数据的备份和网格的容错能力,缓存条目保存在两个或两个以上的节点上。和其他集群的模式相比,由于缓存条目保存在网格节点子集上,使得在可扩展性上优于其他模式。它是以distributed-cache要素定义在cache-container要素里的。
在Distribution模式中,一个put操作会运行num_copies次远程调用,相同在随意节点的get操作会运行至少一次的远程调用。实际上,get操作甚至也会运行num_copies次远程调用。但它们是并行的,仅仅要有一个返回。结果就会被返回给调用者。数据备份的数量由Owners属性决定的。
相关推荐
3. **WildFly内核**:JBoss EAP 7.0基于WildFly应用服务器,这是一个高性能、轻量级的开源项目。WildFly内核为EAP提供了基础架构,包括安全管理、集群、热部署等功能。 4. **微服务支持**:虽然Java EE 7不是专门...
### Eclipse中集成JBOSS 7.0版本的详细步骤及常见问题解决 #### 引言 随着JBOSS 7.0版本的发布,许多开发者开始尝试在Eclipse环境中集成这一新版本。然而,由于该版本较为新颖,可能会遇到一些在早期版本中未曾出现...
3. **服务容器**:JBoss作为Java EE容器,提供了诸如EJB(Enterprise JavaBeans)、JPA(Java Persistence API)、JMS(Java Message Service)等服务。源码会揭示这些服务如何被容器管理和提供给应用。 4. **网络...
JBoss EAP 7.0,全称是Red Hat JBoss Enterprise Application Platform 7.0,是Red Hat公司推出的一款企业级Java应用服务器,基于Java EE 7规范。这款产品以其稳定性和强大的功能在IT行业中获得了广泛的认可。下面将...
在Linux环境下配置JBoss6.0与JDK7.0是一项关键的任务,因为这两个组件是许多企业级Java应用的基础。JBoss是一个流行的开源应用服务器,它支持Java EE规范,而JDK则是运行Java应用程序和应用服务器所必需的开发工具包...
JBoss Cache是一款功能完备的企业级开源缓存引擎,它具备事务性、分布式/复制、持久性、自愈性、可插拔/可扩展性以及高度可配置/可调性等特点。JBoss Cache最早以复制java.util.HashMap的演示项目开始,使用了LGPL...
jboss-cache.jar jboss-cache.jar
【JBoss Cache 作为 POJO Cache】 JBoss Cache 是一款强大的开源缓存解决方案,尤其适合在企业级应用中作为POJO(Plain Old Java Object)的缓存系统使用。POJO Cache 提供了一种面向对象且分布式的缓存机制,使得...
3. **自定义操作**:在《JBoss_ESB学习笔记6——第五个ESB应用Custom_Action.doc》中,我们能学习到如何编写自定义操作,这是扩展ESB功能的关键,使得开发者能够根据特定需求定制服务处理逻辑。 4. **Spring整合**...
3. **更佳的内存管理**:通过优化内存模型,JBoss AS 7减少了内存占用,提高了应用的运行效率。 4. **内置Clustering支持**:JBoss AS 7内建了集群支持,允许多个服务器实例形成一个集群,以实现高可用性和负载均衡...
datagrid-demo-app是一个可部署的 Maven 3 项目,旨在帮助您在红帽 JBoss DataGrid 上开发高性能应用程序。 它演示了如何在 JBoss 企业应用程序平台上使用 JQuery、CDI 1.0 和 JAX-RS 创建兼容的 Java EE 6 应用...
jboss rules 中文学习资料.chm
3. **配置文件**:`jbossTicketCacheReplicationConfig.xml`可能是JBOSS CACHE的配置文件,用于定义缓存的复制策略、缓存区域、网络通信参数等。分析这个文件可以帮助理解如何在WebLogic上配置JBOSS CACHE。 4. **...
3. **嵌入式部署**:JBoss7支持嵌入式部署,意味着你可以直接在你的应用代码中启动和控制JBoss实例,无需单独运行服务器进程,这对于测试和开发环境尤其便利。 4. **CLI和Management API**:JBoss7提供了强大的...
3. **Myeclipse 7.0**:Myeclipse是一款强大的集成开发环境(IDE),特别适合Java EE开发。在Myeclipse中,你需要配置JDK和JBoss,以便它们可以协同工作。如果你使用的是JBoss 5.x版本,那么JDK版本必须是6.0,这是...
【JBoss学习全集多本书整合】集合了丰富的JBoss相关知识,涵盖了JBoss服务器的配置、管理和优化等多个方面,是深入理解与掌握JBoss的理想资料。JBoss,作为一个开源的应用服务器,基于Java EE(现在被称为Jakarta EE...
### Hibernate与Jboss Cache结合实现二级缓存机制 #### 概览 在现代的企业级应用开发中,提高数据访问效率是提升系统性能的关键之一。Hibernate作为一款流行的Java持久层框架,通过提供对象关系映射(ORM)技术...