Java 分布式缓存技术

Java 分布式缓存技术,java,performance,caching,distributed,distributed-caching,Java,Performance,Caching,Distributed,Distributed Caching,我对满足以下要求的开源消息传递和/或分布式缓存技术感兴趣 Java web应用程序的多个负载平衡实例(可能在Amazon EC2上) 实例的数量可能会随着时间的推移而变化,以便进行缩放 当请求带有id FOO时,事件将在内存中缓存一段时间。 缓存事件的持续时间在请求有效负载中指定,并随请求而异 持续时间相对较小(以分钟为单位) 不需要持久性。在罕见的情况下,发生了一些戏剧性的事情,服务器必须重新启动,所以它可以忘记过去的事件 有关请求的信息需要传播到所有服务器实例 信息的传播不得显著

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

  • Java web应用程序的多个负载平衡实例(可能在Amazon EC2上)
    • 实例的数量可能会随着时间的推移而变化,以便进行缩放
  • 当请求带有id FOO时,事件将在内存中缓存一段时间。
    • 缓存事件的持续时间在请求有效负载中指定,并随请求而异
    • 持续时间相对较小(以分钟为单位)
    • 不需要持久性。在罕见的情况下,发生了一些戏剧性的事情,服务器必须重新启动,所以它可以忘记过去的事件
  • 有关请求的信息需要传播到所有服务器实例
    • 信息的传播不得显著影响服务器的性能,尤其是响应延迟。它应该与请求处理是异步的。但是,它应该相当快,并且可以扩展到大量请求
    • 不同的服务器实例不同步是可以的。也就是说,在短时间内(以秒为单位),服务器实例2不知道服务器实例1上发生了FOO,直到该信息传播到服务器实例1,这是可以接受的
任何想法都将不胜感激。如果任何解决方案需要特定的配置/定制来满足要求,请说明我需要做什么

编辑我不是想暗示当前的答案不相关,但我的问题没有明确说明。请不要只指向太阳下的每个MQ和JSR-107库。只有您有理由相信满足我要求的产品。

EhCache支持


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

查看的选项-

是一个很好的工具。他们有一些有趣的性能结果。

您也可以检查,这是一个分布式缓存,与.NET和Java应用程序兼容。

请随意改进问题的标题。