JMS用于排队的替代方案

时间:2012-02-07 16:00:37

标签: queue jms

我们有一个REST Web服务,它接收来自外部系统的请求,并相应地对我们的DB进行更新。我正在寻找为进入的请求实现缓存/排队解决方案,因为我们最近遇到了一些数据库服务器挑战,并且在数据库服务器出现故障时丢失了一些消息。

在我开始组建一个简单的基于永久文件的队列之前,我想知道JMS是否有任何好的替代品,因为它的使用在我们的环境中受到限制。

目前的平台: Jboss 4.3 Richfaces 3.3 Spring 3.0.5 的RESTEasy

**更新**

根据skaffman的问题,我对集群,交易等的要求

  • 群集:我们的网络和应用服务器都是群集的,因此队列需要能够处理来自所有群集节点的项目。但是,我们的提交基本上是原子的,因此排序和同步问题非常少。线程和集群安全性并不是真正的因素。每个群集上的独立/独立队列就足够了。

  • 交易:同样,由于我们数据的原子性质,在每个单独的请求之外,交易需求是最小的/不需要的。

  • 安全性:中度关注,但我预计这将由我们在Web服务上的常规安全性处理。除了web-app本身之外,我不会期待读取或写入队列的任何内容。只有在高容量或DB不可用的情况下才需要这样做。

谢谢,

麦克

1 个答案:

答案 0 :(得分:0)

对于一个项目,我们确实使用了一个队列(HornetQ),但是它集成在战争中并可部署在Tomcat上,因为客户不想要Weblogic或JBoss应用程序服务器,但是如果您的限制策略也适用于您的应用程序架构,解决方案是被禁止的。

对于另一个项目,我们没有使用任何JMS实现,我们使用消息数据库和Service Activatorspring-integration framework进行异步实现以消耗事件。 这样任何消息发布者只需在DB表中插入一行,Service Activator就会触发事件并调用任何其他服务(Spring,Web-service等)。

相关问题