【问题标题】:RabbitMQ Management Plugin vs. AMQPRabbitMQ 管理插件与 AMQP
【发布时间】:2018-01-09 18:30:26
【问题描述】:

我希望以编程方式管理我的 rabbitmq 服务器的交换、队列、绑定和查看资源使用情况。我可以通过 rabbitmq management plugin 提供 REST API 调用来完成所有这些工作。但是,是否可以使用 AMQP 协议而不是使用管理插件来实现所有这些?换句话说,AMQP 客户端是否允许我做管理插件所做的一切?

如果没有其他选择,如果我启用和使用管理插件是否有任何性能问题?

【问题讨论】:

  • 您应该已经添加了您计划使用的语言客户端。我一直在使用 Java RabbiMQ 客户端,它确实允许我创建/声明交换、创建队列并将队列与交换绑定。对于这个简单的用例,我相信管理插件已经过时了。
  • 我没有故意指定任何语言,因为我试图询问 AMQP 0.9.1 协议本身是否支持 rabbitmq 管理插件能够提供的所有功能。

标签: rabbitmq amqp


【解决方案1】:

理论上,有人可以实现一种所有信息都通过 AMQP 队列传递的方式。但它必须是这样,任何消费者都不应该确认任何消息,因为这样它们就会从队列中消失,而发布者必须弄清楚这一点并再次发布相同的东西。换句话说,不应该这样做。
在语义上(?)也是错误的,因为 AMQP 的本质是设计时考虑到流动/变化/动态数据,以及所有关于资源、队列等的数据是静态(在某些情况下是元)信息。

没有性能问题(当然是在这种情况下)。

另外你也可以使用命令行工具,如果它更舒服

【讨论】:

    【解决方案2】:

    AMQP 0.9.1 没有任何发现或列出队列和交换的方式。另一方面,管理插件具有GET /api/exchangesGET /api/queues 等API。由于这个要求,管理插件是我唯一的解决方案。

    【讨论】:

      猜你喜欢
      • 2019-06-18
      • 1970-01-01
      • 2023-03-31
      • 2018-06-02
      • 2017-09-19
      • 1970-01-01
      • 1970-01-01
      • 2016-03-14
      • 1970-01-01
      相关资源
      最近更新 更多