分布式缓存技术

时间:2010-10-05 22:24:32

标签: java performance caching distributed distributed-caching

我对满足以下要求的开源消息传递和/或分布式缓存技术感兴趣。

  • 多个负载均衡的Java Web应用程序实例(可能在Amazon EC2上)
    • 实例数可能会随着时间的推移而发生变化。
  • 当请求带有id FOO 时,该事件会在内存中缓存一段时间。
    • 缓存事件的持续时间在请求有效内容中指定,并且在请求之间有所不同。
    • 持续时间相对较短(大约几分钟)。
    • 不需要持久性。在罕见的情况下,发生了戏剧性的事情并且服务器必须重新启动,它可以忘记过去的事件。
  • 有关请求的信息需要传播到所有服务器实例
    • 信息的传播不得显着影响服务器的性能,尤其是响应延迟。它应该与请求处理异步。但是,它应该相当快,并且可以扩展到大量请求。
    • 不同的服务器实例可以不同步。即可以接受的是,在一段短时间内(大约几秒),服务器实例2不知道服务器实例1上发生了 FOO ,直到该信息传播到它。

任何想法都将不胜感激。如果任何解决方案需要特定的配置/定制以满足要求,请提及我需要做的事情。

编辑我并不是说暗示当前的答案是不相关的,但我的问题并不明确。请不要只指向阳光下的每个MQ和JSR-107库。只有你有理由相信我的要求。

4 个答案:

答案 0 :(得分:3)

EhCache支持distributed and replicated caching

此外,您可以设置将元素添加到缓存时的生存时间。

答案 1 :(得分:3)

Hazelcast是一款出色的工具。他们有一些有趣的表现结果running on EC2

答案 2 :(得分:0)

可以选择查看 - JBoss cache

答案 3 :(得分:0)

您还可以检查NCache,它是一个分发缓存,它兼容.NET& Java应用程序