【发布时间】:2012-10-21 00:33:12
【问题描述】:
我无法理解 RabbitMQ 中的路由。考虑我有几个生产者(我们称他们为客户端),它们向队列生成消息。例如,客户端 A、B 和 C 将消息发送到队列 @987654324@。
让消费者响应所有将响应发送回队列的消息。例如,消费者从队列X1 中获取消息,做一些事情,然后将响应发送到队列X1。
客户端A如何确定队列中X1发送给它的消息的位置以及发送给客户端B或C的消息在哪里?
我无法为每个连接声明一个队列,因为预计会有大量连接 (~10^6)。所以我在这里遇到了麻烦。有什么建议?谢谢。
【问题讨论】:
-
建议你去掉路由标签。您指的是 MQ 中的路由,而不是网络路由。它们不是一回事,标签所指的路由是网络路由。
-
我在这里无法理解您的问题。我不确定 X2 与问题的其余部分的相关性,与 DE 和 F 类似。我还认为您可能需要重新阅读 RabbitMQ 网站上的教程,因为路由只有在您的生产者发送和交换时才会真正发生消费者从绑定到该交换的队列中消费。
-
我阅读了一堆关于 AMQP 和 RabbitMQ 本身的教程。说清楚:忘记客户
D、E、F和队列X2。三个客户端A、B、C向交换机发送消息,类型为amq.topic。这三个消息路由到队列X1。消费者处理所有消息并将响应发送回此交换。响应路由到队列X1。现在三个客户端中的每一个都需要从队列中获取消息。所以客户端A想要消息发送给它,客户端B- 消费者发送给B的消息等等。这怎么做? -
我认为你应该重写你的问题,而不是在你的评论中发布这么大的变化