为什么我们需要路由键将消息从exchange路由到队列?难道我们不能简单地使用队列名称来路由消息吗?此外,在发布到多个队列的情况下,我们可以使用多个队列名称。有谁能指出我们实际上需要路由键和队列名称还不够的场景吗?
发布于 2016-03-30 16:55:09
有几种类型的交换。fanout交换忽略路由键并将消息发送到所有队列。但几乎所有其他交换类型都使用路由关键字来确定哪个队列(如果有的话)将接收消息。
tutorials on the RabbitMQ website描述了几种用例,其中不同的交换类型是有用的,并且路由关键字是相关的。
例如,tutorial 5演示了如何使用topic交换将日志消息路由到不同的队列,具体取决于每条消息的日志级别。
如果要以多个队列为目标,则需要将它们绑定到fanout交换,并在发布服务器中使用该交换。
不能在发布服务器中指定多个队列名称。在AMQP中,您不是将消息发布到队列,而是将消息发布到exchange。确定相关队列是交换的责任。消息有可能被路由到根本没有队列的地方,然后就被丢弃了。
发布于 2019-01-10 19:00:07
将队列名称与应用程序解耦对于提高灵活性非常有用。
https://stackoverflow.com/questions/36302341
复制相似问题