【问题标题】:RabbitMq exchange performanceRabbitMq 交换性能
【发布时间】:2026-02-16 04:45:02
【问题描述】:

创建多个交易所在性能方面会更好吗?例如,如果我有多种文件类型,如 zip、json、xml,...

  1. 创建一个文件交换(主题交换)是否更好,它接受所有文件并将它们映射到正确的队列。在这里,我担心的是,如果我获得了许多 zip 文件,并且在文件交换中积累的消息较少,则消息处理较晚。
  2. 或者为每种文件类型创建一个交换(Zip 交换、Json 交换、Xml 交换)。

交易所如何处理消息?是只有一个进程处理交换和队列之间的映射,还是多个进程并行进行映射?

【问题讨论】:

    标签: rabbitmq queue message-queue messagebroker


    【解决方案1】:

    RabbitMQ 将消息存储到队列中,交换器不存储消息。 多个队列可以并行工作。

    要获得良好的性能,您必须使用不同的队列并避免交换和队列之间的过多绑定。

    【讨论】:

    • 但是,据我了解,消息从交换机路由到不同的队列,取决于路由。如果我向一个交换器发送大量消息,我想可能会发生消息没有立即从交换器处理/路由到正确的队列的情况。因此,它们将延迟交付到队列中?
    • 路由快,性能问题总是和处理消息的队列有关