`

Coherence企业级缓存(三) 四种缓存类型

阅读更多

(From http://raymondhekk.iteye.com/blog/257384)

 
4. 基本缓存类型及适用情况 
Coherence 支持四种Cache类型(Cache Type),也可看作四种缓存系统架构: 
4.1 复制缓存(Replicated Cache) 
数据在集群成员中进行全复制,每个节点都有一个完整的数据拷贝。这种集群下,read性能最高( cache.get(key) 操作),容错性好,但cache.put(key,value) 操作性能较低。如果Node很多,每次put操作都要在所有成员上执行一次。 
  cache.get(key) 
 

  cache.put(key,value) 

 

这是一种传统的集群技术,不是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) 
 

    cache.put(key,value) 
 


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缓存而言)应用所在的本地缓存的空间大小字节数。 

几种类型的对比 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics