【发布时间】:2020-01-15 19:26:55
【问题描述】:
下午好!
实现下一个的最佳方法是什么:
我发布有关员工的消息。我希望消费者处理有关几名员工的消息。例如 - 我发送有关员工 1、2、3、4、5 的消息。我想用下一种方式处理消息: 消费者 1 - 接收关于员工 1、3、5 的消息;消费者 2 - 接收有关员工 2、4、5 的消息
如果我为每个员工创建一个特定队列,我如何为消费者订阅一个以上的队列? 我可以使用不同的路由键 (EmployeeID) 在一个队列中发送消息。以这种方式 - 我如何通过多个路由键为不同的消费者过滤此队列中的消息?
【问题讨论】:
-
您选择处理哪些消息的逻辑不清楚,例如消息 5 发送给两个消费者。这些路由规则是在哪里声明的?
-
逻辑清晰。我希望第一个消费者收到关于员工 1、3、5 的消息;第二个消费者- 关于员工2,4,5。并为此寻找最佳解决方案
-
我正在尝试找到一种方法来实现这一点。我将创建两个队列——一个用于员工 1、3、5,第二个用于员工 2、4、5。但是在这种情况下要设置什么作为队列标识符或路由键。毕竟我事先不知道如何轮流分组工人
-
我认为第二种方式 - 将有关所有员工的消息发送到一个队列中,其中路由键是员工 ID。但是如何通过多个路由键过滤这个队列呢?
-
第三种方式——为每个员工创建一个单独的队列。但是我怎样才能订阅一个消费者来处理多个队列呢?最后,我不知道消费者会订阅什么样的员工。
标签: rabbitmq