我希望以编程方式管理我的rabbitmq服务器的交换,队列,绑定和查看资源使用情况。我可以通过rabbitmq management plugin提供REST API调用来完成所有这些操作。但是,是否可以使用AMQP协议而不是使用管理插件来实现所有这些?换句话说,AMQP客户端是否允许我执行管理插件的所有操作?
如果没有其他选择,如果我启用并使用管理插件,是否存在任何性能问题?
答案 0 :(得分:0)
理论上,有人可以实现一种通过AMQP队列传递所有信息的方式。但它必须是这样的,没有消费者应该确认任何消息,因为它们将从队列中消失,发布者必须弄清楚这一点并再次发布相同的事情。换句话说,它不应该被完成。
它也会在语义上(?)错误,因为AMQP本质上是考虑到流动/变化/动态数据,以及有关资源,队列的所有这些数据等等是静态的(在某些情况下是元)信息。
没有性能问题(当然在这种情况下)。
此外,如果更舒适,您还可以使用命令行工具
答案 1 :(得分:0)
AMQP 0.9.1没有任何方法可以发现或列出队列和交换。另一方面,管理插件具有GET /api/exchanges
和GET /api/queues
等API。由于这个要求,管理插件是我唯一的解决方案。