工作队列解决方案

时间:2012-10-24 10:19:36

标签: architecture queue message-queue priority-queue

我正在研究工作队列的新解决方案。队列(或队列)将包含工作项,这些工作项将由人使用基于web的软件系统来工作,该软件系统消耗队列中的项目。因此,工作队列中的项目可能会长时间保留在队列中。队列解决方案不需要处理大吞吐量,它不需要是一个快速系统,但应该以与消息队列相同的方式运行。即多个消费者先出先后的消息。

除了工作用户之外,我还需要能够管理队列。查看队列中的工作项,编辑它们,删除它们,更改优先级等等......

我研究过ActiveMQ,RabbitMQ,HornetQ和其他符合JMS标准的队列解决方案。这些似乎都很好,即可扩展,强大等等。但缺乏内置的管理功能,以满足我的要求。它们似乎也是为高吞吐量而构建的。

我想要替换的系统包括一个简单实现为数据库模式的队列系统。工作项消费者从表中而不是在内存队列中进行选择。除了可伸缩性之外,我不确定内存解决方案(例如ActiveMQ)对现有系统有什么好处。

我的问题是:我应该基于其中一个解决方案构建我的工作队列系统,ActiveMQ,Rabbit,Hornet等等。还是有一个开源工作队列系统专门为工作队列而构建比高吞吐量的消息队列工作?或者,我应该坚持使用基于数据库模式的解决方案。

非常感谢。

约翰

1 个答案:

答案 0 :(得分:0)

你不应该使用queueuíng机制 - 我会使用内存项目。记住你不想删除东西,你可以将它们保存在表中以供审核等 - 这不是经典的消息,它是更多的工作流状态跟踪。这与排队几乎无关。