【问题标题】:Distributed Cache with Serialized File as DataStore in Oracle CoherenceOracle Coherence 中使用序列化文件作为数据存储的分布式缓存
【发布时间】:2010-04-16 07:10:47
【问题描述】:

很奇怪,但我正在研究 Oracle Coherence 作为分布式缓存的替代品。我的主要问题是我们的应用程序中没有分布式缓存。这是我最关心的问题。这就是我想要实现的。所以,假设我拿起一台机器并开始一个新的(第 3 次)读取过程,它将能够连接到缓存并监听缓存,并将拥有一整套缓存三重(截至目前它是重复的)现在,从普通人的角度来看,这也是浪费。缓存的大小为 2 GB,不去分配它对我们的限制。

那就是把我带到 Coheremce。

但是现在,我们也没有数据库作为持久存储。我们将归档过程作为我们的持久存储。 (价值 90 天的数据)好的,现在将它与大约 2 GB * 90 的 soem 相乘(这是我们想要保留的最低限度)。

作为解决方案的 Coherence 的初步/中期分析。

我脑海中闪过一个(据说)绝妙的想法。为什么不把它作为我的分布式缓存的持久存储。 Oracle Coherence 是否支持这一点。我也将摆脱归档基础设施(我讨厌守护进程归档过程)。由于某些原因,我不想去数据库替换那些平面文件。

怎么说?,Coherence 能成为我的救星吗?任何其他稳定的替代品也是如此。 (一致性是大家伙强加给我的,仅供参考)

【问题讨论】:

    标签: java oracle-coherence distributed-cache


    【解决方案1】:

    您可以使用 Coherence 完成上述大部分工作。由于它主要是内存存储,因此您将需要足够的物理 RAM 来存储 90*2Gb(但显然,并非所有这些都需要在一台 VM 或一台机器中。)Coherence 还具有持久性配置来保存和加载缓存来自磁盘的数据,但我不确定文件格式,可能是一些特定于 Coherence 的东西。

    Coherence 的商业替代品是Gemfire。它们具有非常相似的特征和大致相同的成熟度。当然,还有一个很好的开源产品Ehcache

    【讨论】:

    • 感谢 omerkudat。但我认为你的 90 天档案概念有点错误。我的意思是将序列化结构用作持久存储/或备份存储,无论它被称为什么,我希望 Coherence 进程通过某种策略来处理推送/更新文件中的数据(并且比守护进程归档挂钩更干净)等等RAM 要求为 2 Gb CAP。否则缓存有什么用,对吧?
    • 目前还在寻找与 Coherence 相关的答案。将添加与要求的相应 Coherence 术语的链接(并且以某种需要的方式,因为我想快速了解这些术语)提供帮助。非常感谢。
    【解决方案2】:

    试试Hazelcast

    Hazelcast (http://www.hazelcast.com) 是用于 Java 的开源、事务性、分布式缓存解决方案。

    Hazelcast 实际上不仅仅是一个分布式缓存;它是Java的队列、主题、映射、多映射、锁、执行器服务的分布式实现。

    阅读关于 100 节点 Hazelcast 集群here

    【讨论】:

      猜你喜欢
      • 2014-12-26
      • 1970-01-01
      • 1970-01-01
      • 2013-06-19
      • 2018-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-15
      相关资源
      最近更新 更多