我正在研究Oracle Coherence作为分布式缓存的替代品。我的主要问题是,到目前为止,我们的应用程序中还没有分布式缓存。这是我最关心的问题。这就是我想要实现的。因此,假设我拿起一台机器,开始一个新的(第三个)读取过程,它将能够连接到缓存并侦听缓存,并将拥有一组完整的三倍缓存(目前为止是复制的),这也是从普通人的角度来看的浪费。缓存的大小是2 GB,并且没有分布它的限制我们。
这就把我带到了Coheremce。
但是现在,我们也没有数据库作为持久化存储。我们将归档进程作为持久化存储。(相当于90天的数据)好的,现在用soem乘以大约2 GB *90(这是我们想要保留的最小值)。
作为解决方案的一致性的初步/中级分析。
我突然想到了一个(理所当然的)聪明的想法。为什么不把它作为我的分布式缓存的持久存储。Oracle Coherence是否支持这一点。我也将摆脱归档基础设施(我讨厌守护程序归档进程)。出于某些重要的原因,我不想去数据库替换那些平面文件。
怎么说?一致性能成为我的救世主吗?任何其他稳定的替代品也是如此。(连贯性是由大人物强加给我的,仅供参考)
发布于 2010-04-16 15:24:18
你可以使用Coherence来完成上面的大部分工作。因为它主要是内存中的存储,所以您需要足够的物理RAM来存储90*2 2Gb(但显然不是所有这些都需要放在一个VM或一台机器中)。Coherence也有持久化配置,可以从磁盘保存和加载缓存数据,但我不确定文件格式,可能是一些Coherence特定的东西。
Coherence的商业替代方案是Gemfire。它们具有非常相似的功能和相同的成熟度。当然,还有一个很好的开源产品,叫做Ehcache。
发布于 2010-05-03 06:21:15
试试Hazelcast吧!
Hazelcast (http://www.hazelcast.com)是一个开源的、事务性的、分布式的Java缓存解决方案。
Hazelcast实际上不仅仅是一个分布式缓存;它是Java的队列、主题、映射、多映射、锁和执行器服务的分布式实现。
阅读关于100个节点的Hazelcast集群here。
https://stackoverflow.com/questions/2651237
复制相似问题