我正在研究一种新的工作队列解决方案。该队列(或多个队列)将包含工作项,该工作项将由使用基于web的软件系统的人来工作,该基于web的软件系统消耗队列中的项。因此,工作队列中的项目可能会在队列中保留很长时间。队列解决方案不需要处理大吞吐量,它不需要是一个快速的系统,但应该以与消息队列相同的方式工作。即多个消费者馈送先进先出消息。
除了工作使用者之外,我还需要有管理队列的能力。查看队列中的工作项、编辑它们、移除它们、更改优先级等…
我研究过ActiveMQ、RabbitMQ、HornetQ和其他符合JMS的队列解决方案。这些看起来都很好,比如可伸缩、健壮等等。但缺乏内置的管理能力,无法满足我的需求。它们似乎也是为高吞吐量而构建的。
我希望替换的系统由一个简单地实现为数据库模式的队列系统组成。工作项使用者从表中选择,而不是从内存队列中选择。除了可伸缩性之外,我不确定内存中的解决方案(如ActiveMQ )相对于现有系统有什么好处。
我的问题是:我是否应该基于这些解决方案中的一个来构建我的工作队列系统,ActiveMQ,Rabbit,Hornet..等等。或者,是否有专门为工作队列而不是高吞吐量消息队列工作而构建的开源工作队列系统?或者,我应该坚持使用基于数据库模式的解决方案。
非常感谢。
约翰
发布于 2012-10-24 18:23:52
您不应该使用队列机制-我会使用内存中的项。请记住,您不想删除某些内容,您可以将它们保留在表中以进行审计等。-这不是经典的消息传递,而是更多的工作流状态跟踪。这与排队几乎没有任何关系。
https://stackoverflow.com/questions/13047223
复制相似问题