我对满足以下要求的开源消息传递和/或分布式缓存技术感兴趣。
- Java Web 应用程序的多个负载平衡实例(可能在 Amazon EC2 上)
- 实例数量可能会随着时间的推移而变化以进行扩展。
- 当请求带有 id FOO时,该事件会在内存中缓存一段时间。
- 缓存事件的持续时间在请求有效负载中指定,并且因请求而异。
- 持续时间相对较短(大约几分钟)。
- 不需要持久性。在极少数情况下发生戏剧性事件并且必须重新启动服务器,它可以忘记过去的事件。
- 有关请求的信息需要传播到所有服务器实例
- 信息的传播不得显着影响服务器的性能,尤其是响应延迟。它应该与请求处理异步。但是,它应该相当快并且可以扩展到大量请求。
- 不同的服务器实例不同步是可以的。即,在某个短时间段内(大约几秒),服务器实例 2 不知道FOO发生在服务器实例 1 上,直到该信息传播给它是可以接受的。
任何想法,将不胜感激。如果任何解决方案需要特定的配置/定制来满足要求,请提及我需要做什么。
编辑我并不是要暗示当前的答案不相关,但我的问题并没有明确。请不要只指向太阳下的每个 MQ 和 JSR-107 库。只有你有理由相信的那些才能满足我的要求。