浏览 4330 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-10-24
最后修改:2009-07-16
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缓存而言)应用所在的本地缓存的空间大小字节数。 几种类型的对比 Coherence企业级缓存(一) 特点 Coherence企业级缓存(二) QuickStart和编程 Coherence企业级缓存(三) 四种缓存类型 Coherence企业级缓存(四) 数据管理模式 Coherence企业级缓存(五)与Hibernate集成(1) Coherence企业级缓存(五)与Hibernate集成(2) Coherence企业级缓存(六) JMX 管理和监控 Coherence企业级缓存(七) 性能调优 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-10-27
我想请教一下.
如上面的图,有4个jvm,其中三个jvm只用来做缓存,另外一台做应用服务器,这一台应用服务器的应用耗的内存已经比较大了,不想做再做缓存,但要访问另三个jvm的缓存,有没有办法? |
|
返回顶楼 | |
发表时间:2008-10-31
可以。 -Dstorage_enabled=false 可以将某个节点的缓存开关关闭。它将只做中转和路由,不存数据。
|
|
返回顶楼 | |
发表时间:2008-11-07
Good,谢谢你专业的文章.
|
|
返回顶楼 | |
发表时间:2008-12-11
我们公司正在用这个玩意,很强大,也很贵但是确实很快。
|
|
返回顶楼 | |
发表时间:2008-12-11
thirdson 写道 我们公司正在用这个玩意,很强大,也很贵但是确实很快。
的确很贵,不是一般的贵。 Oracle收购它据说花了N多 Dollar。 据我简单测试, 比 Memcached 要快很多。 |
|
返回顶楼 | |
发表时间:2009-08-11
商业级的:好用,但贵
没预算的公司,只能用memcached了 |
|
返回顶楼 | |
发表时间:2009-08-15
其实Coherence并不只是一个Cache的方案
另一个重要的方面是Distributed Computing on Data Grid 这方面LZ应该多谈一谈 |
|
返回顶楼 | |