我们有一个将使用 RabbitMQ 的应用程序,并且有几个不同的队列用于在层之间传递消息。
最初,我计划使用多个直接交换,每种消息类型一个,但看起来使用不同路由键绑定的队列与单个主题交换将实现相同的目标。
拥有一个单一的交换似乎也更容易维护,但我想知道以一种方式而不是另一种方式这样做是否有任何好处(如果有的话)?
选项 1,使用多个直接交换:
ExchangeA (type: direct)
-QueueA
ExchangeB (type: direct)
-QueueB
ExchangeC (type: direct)
-QueueC
选项 2,使用单一主题交换:
Exchange (type: topic)
-QueueA (receives messages from exchange with routing key of "TypeA")
-QueueB (receives messages from exchange with routing key of "TypeB")
-QueueC (receives messages from exchange with routing key of "TypeC")