gpt4 book ai didi

rabbitmq - 在 RabbitMQ 中哪个更昂贵,每个交换多个队列,还是多个交换和每个交换更少的队列?

转载 作者:行者123 更新时间:2023-12-04 02:29:04 24 4
gpt4 key购买 nike

因此,我们决定在迁移到微服务架构时使用 RabbitMQ 作为消息/事件总线,但是对于放置队列的最佳方式,我们找不到明确的答案,我们有两种选择:

  • 一个主交换器将是一个扇出交换器,它反过来将消息扇出到一个主队列以进行日志记录和其他目的,另一个子交换器将是一个主题交换器,并使用消息路由键将消息路由到每个所需的队列。我们预计子交易所后面的队列数量会很大。这可以用这张图来解释:
    First Option
  • 一个主交换,将是一个主题交换,还有一个主队列使用“#”路由键绑定(bind)到该交换。该主交换也将处理到其他子交换的主路由,因此路由键可能是“agreements.#”、“assignments.#”、“messages.#”,然后用于绑定(bind)多个主题子交换,每个将处理子路由,因此一个子交换可能正在处理所有“分配”,并且绑定(bind)到该交换的队列可以由诸如“assignments.accepted”,“assignments.deleted”之类的路由键绑定(bind)......在这种情况下,我们觉得每个交易所的大量队列将减少,它们将以某种方式在交易所之间分配。
    enter image description here
    那么,这些场景中的哪一个可能是最好的方法?在 RabbitMQ 上更快,开销更少。

  • 请记住,所有队列、交换和绑定(bind)都将在发布或订阅的服务中即时完成。

    最佳答案

    您可以在此主题中找到一些解释:RabbitMQ Topic exchanges: 1 Exchange vs Many Exchanges
    我使用 RabbitMQ 的方式与您在案例 2 中展示的方式非常相似,因为我发现了与本文所述相同的好处:https://skillachie.com/2014/06/27/rabbitmq-exchange-to-exchange-bindings-ampq/

    Exchange-to-exchange bindings are much more flexible in terms of the topology that you can design, promotes decoupling & reduce binding churn

    Exchange-to-exchange bindings are said to be very light weight and as a result help to increase performance *


    根据我自己在交换到交换方面的经验,案例 2 很棒,它将允许以非常快速的方式创建/更改消息流拓扑。

    关于rabbitmq - 在 RabbitMQ 中哪个更昂贵,每个交换多个队列,还是多个交换和每个交换更少的队列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43884379/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com