我有一堆节点生成数据,我想将所有这些数据发送到中央服务器。我打算用RabbitMQ来做这件事。所有的消息都是类似的类型,但对我来说,它来自哪个客户端对我的存储方式很重要。
我的问题是,建议的模式是什么?我应该为每个客户端设置一个队列还是多个队列?如果所有消息都来自单个队列,我怎样才能跟踪它们的来源?
答案 0 :(得分:1)
RabbitMQ适用于交换和队列。生产者都可以发送到同一个交易所,他们将排队并由客户端读取。问题是你想要实现什么目标?
这里有选项:
每个都有积极的和消极的。如果你知道你将拥有多少客户(及其名称),这不太可能改变,那么(2)可能会更好。如果你想要一些动态的东西,你将需要使用(1),因为它更容易,而不是每次有新客户时编写新的消费者。如果你想要(2)的并行性但是(1)的简单性然后使用为消费者(服务器)端设置的工作队列。 http://www.rabbitmq.com/tutorials/tutorial-two-python.html 在这里,您将有多个消费者从同一队列中读取以分割工作。