我有以下架构: Architecture
输入源正在发送要处理的命令。这些命令由代理转发,并由两个消费者中的一个接收。
我需要以下行为:
是否可以使用AMQP / RabbitMQ强制执行此行为?
答案 0 :(得分:0)
您可以使用每个队列的一个使用者来覆盖您的场景。 每个队列都可以按顺序处理消息。
另一种方法是只使用一个队列并使用envelope.getExchange()
来理解来源,或使用tag
AMQP.BasicProperties properties
您的消息
通过这种方式,您可以在多线程中使用消息,并为每个tag
分配一个线程
答案 1 :(得分:0)
为了保证序列,您可能需要聚合消息。您可以在发布到队列之前将命令从一个源批处理为消息,因此进入队列的消息可以包含一个或多个将由消费者执行的命令。