【发布时间】:2018-03-07 11:31:05
【问题描述】:
我正在使用 RabbitMQ,我想让多个消费者为同一条消息做不同的事情,这条消息正好在一个队列中。每个消费者都可以自己工作,并且在消费者结束的那一刻对于他来说,它将消息标记为已完成阶段 "x" ,当一条消息的所有阶段都完成时,然后使用方法 a basicAck() 将我们的消息从队列中删除。
我怀疑这是不可能的,如果是这样,我会以其他方式面对。具有相同消息的多个队列(使用交换器),每个队列具有不同的消费者,它们将与服务器通信。然后,该服务器将使用数据库并检查/更新已完成的阶段。当所有阶段都完成后,以某种方式记录下来。
但是这种解决方法似乎效率极低,如果可能,我想跳过它。
是否可以在 rabbitMQ 中为消息设置“状态”或“阶段”?
【问题讨论】:
-
我认为您正在寻找数据库,而不是消息队列。
-
我也是。可悲的是,这不是我的决定……
标签: rabbitmq queue state message