【问题标题】:is there always exactly one exchange in a broker?经纪人中总是只有一个交易所吗?
【发布时间】:2020-03-03 12:53:23
【问题描述】:

在 RabbitMQ 中,无论用例如何 模式(发布-订阅、消息队列、管道、RPC,...)

  1. 在生产者与其消费者之间,

    • 总是只有一个经纪人吗?

    • 生产者是否只使用一个交易所,既不超过一个交易所,也没有任何交易所?

  2. 一个代理可以被多个独立或相关的生产者及其消费者使用吗?

    如果是,不同的生产者是否使用不同的交易所?

我从以下图表中获得了上述印象:

http://previous.rabbitmq.com/v3_5_7/getstarted.html

https://www.rabbitmq.com/tutorials/amqp-concepts.html#amqp-model

【问题讨论】:

    标签: rabbitmq


    【解决方案1】:

    我认为 rabbit mq 中的 broker 是一个成熟的消息处理系统(可以处理消息的服务器)。

    代理可以使用许多虚拟主机(例如用于分离环境、测试/开发等)

    现在您可以在代理中声明任意数量的交易所:

    这是一个使用 rabbitmq admin 的示例:

    rabbitmqadmin declare exchange name=my-new-exchange type=fanout
    

    要获取交易所列表,您可以:

    rabbitmqadmin -V test list exchanges
    

    Here您可以找到更多可以使用此管理工具完成的操作

    【讨论】:

    • 谢谢。 (1)“你可以在broker中申报任意数量的exchange”,什么时候在broker中使用多个exchange? (2) 独立生产者可以使用经纪人吗?不同的生产者使用不同的交易所吗? (3) 生产者是否只有一个交易所:生产者不使用多个交易所?
    • 感谢您的回复。这也有助于我澄清我的问题。请查看我对帖子的更新。
    • 1.它的每个用例,假设您的应用程序使用 rabbitmq 的单个实例,并且您希望同时拥有 pub-sub(所有消费者获取消息)和队列(消费者“竞争”消息处理)。然后,您将使用不同类型的交换。 2.生产者是一个发送消息的代码,它总是联系代理来这样做(就像维护与它的连接,就好像代理是数据库服务器一样)。 3. 是的,生产者通常连接到一个交易所,但生产者是一个调用方法“发送”的代码,你可以在那里提供任何你想要的参数。
    猜你喜欢
    • 2016-06-01
    • 1970-01-01
    • 2012-04-21
    • 1970-01-01
    • 2019-01-11
    • 2021-08-29
    • 2019-07-05
    • 2015-04-30
    • 1970-01-01
    相关资源
    最近更新 更多