我们正在调查Oracle Coherence作为分发缓存的替代品。我的主要问题是我们现在没有像我们的应用程序中那样分发缓存。这是我的主要担忧。这就是我想要实现的。所以,让我们说如果我拿起一台机器并启动一个新的(第三个)读取过程,它将能够连接到缓存并监听缓存,并将拥有一整套缓存三重复制(截至目前已复制)现在这也浪费在一个普通人的身上。缓存的大小是2 GB,并没有分散它限制我们。
那是带我去Coheremce。但是现在,我们也没有数据库作为持久存储。我们将档案流程作为我们的持久存储。 (90天的数据)好吧现在用soem乘以2 GB * 90左右(这是我们想要保留的最低限度)。
Coherence作为解决方案的初步/中间分析。
一个(据说)辉煌的思想在我脑海中浮现。为什么不将它作为我的分布式缓存的持久存储。 Oracle Coherence是否支持这一点。我也将摆脱归档基础设施(我讨厌守护进程归档过程)。由于一些starnge的原因,我不想去DB更换那些平面文件。
说什么?,Coherence可以成为我的救世主吗?任何其他稳定的替代也。 (大家伙,FYI对我施加了连贯性)
答案 0 :(得分:1)
你可以使用Coherence完成上述大部分工作。由于它主要是内存存储,因此您需要足够的物理RAM来存储90 * 2Gb(但并非所有这些都需要在一个VM中,或者显然是一台机器。)Coherence还具有持久性配置来保存和加载缓存来自磁盘的数据,但我不确定文件格式,可能是一些特定于Coherence的东西。
Coherence的商业替代品是Gemfire。它们具有非常相似的特征并且具有相同的成熟度。当然,还有一个名为Ehcache的开源产品。
答案 1 :(得分:1)
试试Hazelcast!
Hazelcast(http://www.hazelcast.com)是一个面向Java的开源,事务性,分布式缓存解决方案。
Hazelcast实际上不仅仅是分布式缓存;它是Java的队列,主题,地图,多图,锁,执行服务的分布式实现。
阅读大约100个节点Hazelcast群集here。