0

我正在设置一个消费者,它将监听来自两个不同来源的消息。我想对来自这两个来源的消息进行不同的回调(尽管欢迎其他解决方案)。

我对 rabbitmq 和 pika 很陌生,我还没有掌握细节。但我想知道的是:

我应该使用不同的队列并设置两个

channel.basic_consume(callback_1, ...)
channel.basic_consume(callback_2, ...)

对于我的回调或者我应该用路由键做一些技巧吗?

4

1 回答 1

0

这取决于您的需求。这真的是关于处理,我最熟悉Java,所以我会告诉你我是如何处理事情的,然后你可以根据它做出决定。

如果我需要让不同的线程处理不同的数据或对数据做不同的事情,我会创建两个不同的队列,每个线程将使用不同的队列。我使用主题交换来确保队列获得正确的消息。如果数据只是略有不同,那么使用路由键我可以用同一个线程以不同的方式处理数据。该决定完全基于我需要的并行性,即我想要处理数据的队列数。

于 2012-08-10T10:07:48.790 回答