JBoss AS 集群化配置与管理全解析
1. 集群二级缓存与并发控制
1.1 查询结果缓存
在处理查询结果时,我们可以选择将其存储在特定的缓存区域,例如在示例中使用的 AccountRegion 。这一查询提示是可选的,如果未指定,Hibernate 会根据部署名称和 Bean 类型创建一个合成区域。指定区域的好处在于,能够将多个 Bean 中声明的查询分组到同一区域,便于管理缓存的内存使用。
1.2 JBoss 缓存并发控制
缓存系统面临的一个潜在问题是对共享数据的并发访问。JBoss Cache 默认采用可配置的高级并发算法,确保线程安全。其中,有两个主要参数可进行调整: NodeLockingScheme 和 IsolationLevel 。
1.2.1 NodeLockingScheme
- MVCC(多版本并发控制) :这是 JPA/Hibernate 实体缓存的默认锁定模式。MVCC 能确保高性能,尤其适用于以读取数据为主的应用程序,因为读取线程无需加锁和同步块。同时,它为写入线程使用了定制的高性能锁实现,针对多核 CPU 架构进行了优化。
- 悲观锁 :这种锁定模式要求在读写操作前获取节点锁,会带来更多的开销,并发性能较低。
- 乐观锁 :通过使用名为工作区的内存区域,消除了锁的使用。在进行中的事务之间,数据会临时复制到该区域。 <
超级会员免费看
订阅专栏 解锁全文
1

被折叠的 条评论
为什么被折叠?



