Architecture 工作队列解决方案

Architecture 工作队列解决方案,architecture,queue,message-queue,priority-queue,Architecture,Queue,Message Queue,Priority Queue,我正在研究工作队列的新解决方案。队列(或多个队列)将包含工作项,这些工作项将由使用队列中项目的基于web的软件系统的人员进行工作。因此,工作队列中的项目可能会在队列中保留很长时间。队列解决方案不需要处理大吞吐量,它不需要是一个快速的系统,但应该以与消息队列相同的方式工作。i、 e.多个消费者提供先进先出的信息 除了工作,我还需要有管理队列的能力。查看队列上的工作项、编辑它们、删除它们、更改优先级等 我调查了ActiveMQ、RabbitMQ、HornetQ和其他符合JMS的队列解决方案。这些似乎

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

除了工作,我还需要有管理队列的能力。查看队列上的工作项、编辑它们、删除它们、更改优先级等

我调查了ActiveMQ、RabbitMQ、HornetQ和其他符合JMS的队列解决方案。这些似乎都很好,即可扩展性、健壮性等。。但缺乏一个内置的管理能力,以满足我的要求。它们似乎也是为高吞吐量而构建的

我希望替换的系统由一个队列系统组成,该系统仅作为数据库模式实现。工作项使用者从表而不是内存队列中选择。除了可伸缩性之外,我不确定内存内解决方案(如ActiveMQ)比现有系统有什么好处

我的问题是:我是否应该基于以下解决方案之一构建我的工作队列系统:ActiveMQ、Rabbit、Hornet。。等或者是否有一个开源的工作队列系统专门为工作队列而不是高通量的消息队列工作而构建?或者,我应该坚持使用基于数据库模式的解决方案吗

非常感谢


John

你不应该使用排队机制——我会选择内存中的项目。请记住,您不想删除内容,您可以将它们保留在表中以便进行审核等。这不是经典的消息传递,而是更多的工作流状态跟踪。这几乎与排队无关。

基于数据库的解决方案似乎最适合您的需要。您指定的需求可以使用一个简单的UI应用程序来构建和定制。对于您的帮助,看起来我找错了方向:-)