Routing Exchange-to-Exchange绑定如何使代理与‘;了解&x2019;服务器队列?

Routing Exchange-to-Exchange绑定如何使代理与‘;了解&x2019;服务器队列?,routing,rabbitmq,message-queue,messaging,Routing,Rabbitmq,Message Queue,Messaging,我最近读了一篇关于主题的文章,但有一件事我不明白为什么将私有exchange绑定到公共主题exchange会有不同,以及它如何消除了解服务器队列的需要 目前我只是发布到公共主题交换,不需要知道是否有一些队列绑定到它。如果队列不存在,则消息将以死信形式显示 据我所知,使用Ex-to-Ex绑定时,我应该期望有相同的行为,如果队列不存在,消息将是死信。您需要了解队列的唯一时间是使用默认exchange时,因为您需要将路由密钥设置为队列名称 这篇文章不是一篇关于路由拓扑的详尽论述,我发现它非常不清楚。就

我最近读了一篇关于主题的文章,但有一件事我不明白为什么将私有exchange绑定到公共主题exchange会有不同,以及它如何消除了解服务器队列的需要

目前我只是发布到公共主题交换,不需要知道是否有一些队列绑定到它。如果队列不存在,则消息将以死信形式显示


据我所知,使用Ex-to-Ex绑定时,我应该期望有相同的行为,如果队列不存在,消息将是死信。

您需要了解队列的唯一时间是使用默认exchange时,因为您需要将路由密钥设置为队列名称

这篇文章不是一篇关于路由拓扑的详尽论述,我发现它非常不清楚。就我个人而言,我使用exchange与消息发布到的共享exchange以及消费者的专用exchange交换绑定。共享交换是扇出式的,然后私有交换可以自由使用它们想要的任何类型的交换,而不影响共享交换配置

发布者声明共享exchange并向其发布,而使用者声明他们自己的私有exchange,根据自己的喜好进行配置并绑定到共享exchange。exchange声明不会出错,因为只有发布者负责声明共享exchange。作为cookie-cuter模式,它很好地解耦,并且可以根据用例进一步定制

然后使用策略,您可以设置备用交换和死信交换规则。

注意,您需要设置备用交换,以便在路由级别实现某种死信,您所说的“我不需要它”是什么意思?死信在队列上起作用,例如,当消息的TTL过期时,消息是死信的,或者消息被消费者拒绝。当消息不可路由时,无论是发送到具有队列绑定的exchange还是exchange到exchange绑定的exchange,消息都会被丢弃,除非您具有以下任一选项:-在消息发布时设置强制标志,以便将消息返回到客户端-设置备用交换,以便将消息路由到差异路径