4. 基本缓存类型及适用情况
Coherence 支持四种Cache类型(Cache Type),也可看作四种缓存系统架构:
4.1 复制缓存(Replicated Cache)
数据在集群成员中进行全复制,每个节点都有一个完整的数据拷贝。这种集群下,read性能最高( cache.get(key) 操作),容错性好,但cache.put(key,value) 操作性能较低。如果Node很多,每次put操作都要在所有成员上执行一次。
cache.get(key)
[img]/upload/attachment/44693/16f0a6a0-a709-3d62-9f13-8c50c8490fc3.gif[/img]
cache.put(key,value)
[img]/upload/attachment/44695/3cdfc48f-cd0a-3c59-960e-c7f1faed6521.gif[/img]
这是一种传统的集群技术,不是Coherence的亮点。
4.1 乐观缓存 (Optimistic Cache)
它类似于复制缓存,但不提供并发控制(Concurrency Control)。这种集群数据吞吐量最高,各节点容易出现数据不一致的情况。
4.1 分区缓存 (Distributed (Partitioned) Cache)
Coherence 的亮点。默认情况下,一份数据A只在两个节点上有拷贝,第二份作为备份数据(Backup),用于容错。
从整体上看,假设应用需要的Cache总内存为 M,该模式将数据分散到N个节点上,每个JVM只占用 M/N 的内存消耗,与复制缓存每节点消耗 M量的内存形成对比,它可以极大节省内存资源。
cache.get(key)
[img]/upload/attachment/44684/105f9f96-3518-3792-aa5d-755259e9e84c.gif[/img]
cache.put(key,value)
[img]/upload/attachment/44686/a266f347-9789-36bb-b41a-daedf9a573d8.gif[/img]
4.1 Near缓存 (NearCache)
分区缓存的改进版。分区缓存将数据全部存到Cache Node上,而Near缓存将缓存数据中使用频率最高的数据(热点数据Hotspot)放到应用的本地缓存(Local Cache)区域。由于本地内存访问的高效性,它可以有效提升分区缓存的read性能。
四种缓存类型的基本特点对比如下表所示:
几个重要因素:
JVM数量(N): 即启动的Node数量,每个节点为一个JVM进程;
数据大小(M):要缓存的数据总量的占用空间大小,如10M,120M等;
冗余度(R) :缓存的secondary备份个数。分区缓存默认为1,可以配置2,3,…
本地缓存大小(L):(仅对Near缓存而言)应用所在的本地缓存的空间大小字节数。
几种类型的对比
[img]/upload/attachment/44689/e528ab7d-edba-36e6-8377-23d86b5db187.jpg[/img]
[url=http://raymond2006k.iteye.com/blog/256831]Coherence企业级缓存(一) 特点[/url]
[url=http://raymond2006k.iteye.com/blog/257376]Coherence企业级缓存(二) QuickStart和编程[/url]
[url=http://raymond2006k.iteye.com/blog/257384]Coherence企业级缓存(三) 四种缓存类型[/url]
[url=http://raymond2006k.iteye.com/blog/260406]Coherence企业级缓存(四) 数据管理模式 [/url]
[url=http://raymond2006k.iteye.com/blog/253262]Coherence企业级缓存(五)与Hibernate集成(1)[/url]
[url=http://raymond2006k.iteye.com/blog/252817]Coherence企业级缓存(五)与Hibernate集成(2) [/url]
[url=http://raymond2006k.iteye.com/blog/260420]Coherence企业级缓存(六) JMX 管理和监控[/url]
[url=http://raymond2006k.iteye.com/blog/260432]Coherence企业级缓存(七) 性能调优[/url]
Coherence 支持四种Cache类型(Cache Type),也可看作四种缓存系统架构:
4.1 复制缓存(Replicated Cache)
数据在集群成员中进行全复制,每个节点都有一个完整的数据拷贝。这种集群下,read性能最高( cache.get(key) 操作),容错性好,但cache.put(key,value) 操作性能较低。如果Node很多,每次put操作都要在所有成员上执行一次。
cache.get(key)
[img]/upload/attachment/44693/16f0a6a0-a709-3d62-9f13-8c50c8490fc3.gif[/img]
cache.put(key,value)
[img]/upload/attachment/44695/3cdfc48f-cd0a-3c59-960e-c7f1faed6521.gif[/img]
这是一种传统的集群技术,不是Coherence的亮点。
4.1 乐观缓存 (Optimistic Cache)
它类似于复制缓存,但不提供并发控制(Concurrency Control)。这种集群数据吞吐量最高,各节点容易出现数据不一致的情况。
4.1 分区缓存 (Distributed (Partitioned) Cache)
Coherence 的亮点。默认情况下,一份数据A只在两个节点上有拷贝,第二份作为备份数据(Backup),用于容错。
从整体上看,假设应用需要的Cache总内存为 M,该模式将数据分散到N个节点上,每个JVM只占用 M/N 的内存消耗,与复制缓存每节点消耗 M量的内存形成对比,它可以极大节省内存资源。
cache.get(key)
[img]/upload/attachment/44684/105f9f96-3518-3792-aa5d-755259e9e84c.gif[/img]
cache.put(key,value)
[img]/upload/attachment/44686/a266f347-9789-36bb-b41a-daedf9a573d8.gif[/img]
4.1 Near缓存 (NearCache)
分区缓存的改进版。分区缓存将数据全部存到Cache Node上,而Near缓存将缓存数据中使用频率最高的数据(热点数据Hotspot)放到应用的本地缓存(Local Cache)区域。由于本地内存访问的高效性,它可以有效提升分区缓存的read性能。
四种缓存类型的基本特点对比如下表所示:
几个重要因素:
JVM数量(N): 即启动的Node数量,每个节点为一个JVM进程;
数据大小(M):要缓存的数据总量的占用空间大小,如10M,120M等;
冗余度(R) :缓存的secondary备份个数。分区缓存默认为1,可以配置2,3,…
本地缓存大小(L):(仅对Near缓存而言)应用所在的本地缓存的空间大小字节数。
几种类型的对比
[img]/upload/attachment/44689/e528ab7d-edba-36e6-8377-23d86b5db187.jpg[/img]
[url=http://raymond2006k.iteye.com/blog/256831]Coherence企业级缓存(一) 特点[/url]
[url=http://raymond2006k.iteye.com/blog/257376]Coherence企业级缓存(二) QuickStart和编程[/url]
[url=http://raymond2006k.iteye.com/blog/257384]Coherence企业级缓存(三) 四种缓存类型[/url]
[url=http://raymond2006k.iteye.com/blog/260406]Coherence企业级缓存(四) 数据管理模式 [/url]
[url=http://raymond2006k.iteye.com/blog/253262]Coherence企业级缓存(五)与Hibernate集成(1)[/url]
[url=http://raymond2006k.iteye.com/blog/252817]Coherence企业级缓存(五)与Hibernate集成(2) [/url]
[url=http://raymond2006k.iteye.com/blog/260420]Coherence企业级缓存(六) JMX 管理和监控[/url]
[url=http://raymond2006k.iteye.com/blog/260432]Coherence企业级缓存(七) 性能调优[/url]