【问题标题】:Cache implementation缓存实现
【发布时间】:2012-05-08 12:06:03
【问题描述】:

我已经研究了一周,但我想对我的特殊情况提出一些想法......

2 台物理服务器:

  • 服务器 A - 公共 WAR、管理 WAR

  • 服务器 B - 公共 WAR

要求:

  • 两个 WAR 需要查看相同的数据。

  • admin WAR 修改/添加数据到缓存中。

  • 公共 WAR 修改缓存的其他部分/向其中添加数据。

  • 整个缓存需要驻留在每个物理服务器上的内存中(如果我在服务器 A 管理 WAR 或公共 WAR 上添加一些内容,它需要显示在服务器 B 公共 WAR 上),因此在发生故障时,我们不会等待填充一半的缓存

  • 1,500 个活跃用户/服务器,绝大多数流量是读取的,很少是写入的

额外的硬件是不可能的。

是否有适合这种情况的第三方缓存解决方案?似乎大多数分布式缓存系统都希望将一半的数据留在服务器 A 和服务器 B 上,这无法满足我们的故障转移性能需求。

感谢您的任何想法!

【问题讨论】:

    标签: java caching ehcache distributed-caching


    【解决方案1】:

    http://www.gigaspaces.com/ 有一个解决方案,它允许您创建“空间”作为复制模式下的缓存,因此每个节点都将拥有精确的数据副本。

    他们也有故障转移或热备的解决方案。

    编辑: Gigaspace 不仅仅是一个共享缓存,但您可以只使用缓存解决方案。它被称为内存数据网格。他们极大地改变了他们的网页,所以我找不到确切的页面。但是,如果您搜索文档,您会找到它。

    你可以从这里开始 http://www.gigaspaces.com/datagrid

    但这项技术不是免费的。

    【讨论】:

    • 不幸的是,不适用于此问题域。这适用于出售给在现有机器上自行托管的公司的定制软件(现有软件的新版本,用于现有硬件.. 网络托管不是一种选择)。
    【解决方案2】:

    我们使用Apache Commons JCS 并且对此非常满意。它声称是almost twice as fast as EHCache。对于您描述的情况,您可能会配置一个Lateral TCP Cache

    【讨论】:

      【解决方案3】:

      这个领域有很多解决方案。

      它们都可以配置为分布式缓存。 AFAIK Infinispan 在 JBoss AS 中留下嵌入式缓存时效果最佳,最后我检查了它很难集成到其他应用程序服务器中。如果你有钱,我会推荐 Terracotta 的BigMemory。它是 EhCache 的商业衍生产品,并提供了许多额外的好功能。

      【讨论】:

        【解决方案4】:

        似乎大多数分布式缓存系统都希望保留一半的数据 在服务器 A 上,一半在服务器 B 上,这不能满足我们的故障转移 性能需求。

        不,您可以轻松调整它。否则,您需要粘性看见(您必须确切知道哪个缓存存储您的数据)。您可以选择市场上的任何解决方案 EhCache、GigaSpace、GridGain 等。我建议使用 JBoss Cache,恕我直言,最简单且正是您所需要的

        【讨论】:

          【解决方案5】:

          你应该看看Redis

          【讨论】:

            【解决方案6】:

            看看the replicated options for EhCache

            听起来您一直在搜索有关“分布式缓存”的信息,它的定义与“复制缓存”不同。分布式缓存是一个更大的缓存系统,分布在许多机器中,因此集群中任何一台机器的丢失都不会导致整个缓存下降,而只是一部分。在这种情况下,缓存的总大小可以达到(机器数量乘以每台机器的内存)。

            在复制缓存中,缓存的数据在每台机器上进行复制,将总缓存大小限制为最大(任何一台机器的内存)。

            【讨论】:

            • 你是对的。我现在正在阅读 EhCache 的复制详细信息。谢谢!
            猜你喜欢
            • 1970-01-01
            • 2013-07-31
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-01-09
            • 2018-10-14
            • 2017-11-22
            • 1970-01-01
            相关资源
            最近更新 更多