我们有一个应用程序将使用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")