我是否需要使用rabbitmq绑定进行直接交换?

时间:2016-01-15 18:07:23

标签: python rabbitmq rmq

我有一台兔子mq服务器在运行,有一个直接交换,我的所有消息都通过。消息被路由到单个非永久队列(它们可能持续几个小时)。我刚刚开始阅读有关交换的队列绑定,并且我是否真的需要将我的队列绑定到交换机时有点困惑。我正在使用 pika basic_publishconsume函数,所以这可能意味着什么?不太确定只是想了解更多。

由于

3 个答案:

答案 0 :(得分:3)

如果您使用默认交换进行直接路由(exchange =''),则您不必声明任何绑定。默认情况下,所有队列都绑定到默认交换。只要路由密钥与队列名称完全匹配(并且队列存在),默认交换iw

答案 1 :(得分:1)

始终。实际上,即使队列严格来说是一个消费者端实体,也应该声明它们。在创建交易所时,生产者必须直接交换。

答案 2 :(得分:1)

您必须将一个带有绑定密钥的队列绑定到交换机,否则将丢弃消息。

这是任何amqp代理的工作方式,发布者发布消息以与某些密钥交换,amqp代理(RabbitMq)将此消息从交换路由到那些与给定密钥交换绑定的队列。

但是,在发布者中声明和绑定队列并不是强制性的。 您可以在订阅者中执行此操作,但请确保在启动发布者之前运行订阅者。

如果您认为您的邮件在没有绑定的情况下被路由到队列而不是丢失了某些内容。