跳至主要内容

RabbitMQ 3.7.0 中全新的 rabbitmqctl

·阅读 2 分钟
Daniil Fedotov

v3.7.0 里程碑 8 开始,RabbitMQ 提供了一套全新的 CLI 工具(rabbitmqctlrabbitmq-plugins 等),这些工具从头开始进行了重构。我们在开展这个项目时有几个目标。

我们希望使用更人性化的命令行解析器,并生成更有用的帮助和错误消息。

  • CLI 工具应该可以从插件扩展:诸如管理、联邦、转储、信任存储等插件都有其功能,这些功能应该由 CLI 工具调用,但唯一的方法是 rabbitmqctl eval,这很容易出错且存在危险。
  • 我们想在实际项目中尝试使用 Elixir,并让 Erlang 新手更容易扩展 CLI 功能。
  • 从历史上看,我们的 CLI 工具没有良好的测试覆盖率;新的工具应该(并且确实)具备良好的测试覆盖率。
  • CLI 工具应该能够生成机器友好的格式,无论是 JSON、CSV 还是其他格式;在原始实现中没有用于执行此操作的内部基础设施。
  • CLI 工具应该像所有插件、客户端库等一样,成为一个独立的存储库。

九个月后,实验被宣布成功,并集成到 RabbitMQ 分发版中。

请尝试 v3.7.0 里程碑 8,并查看 扩展 CLI 的简易性

还有一个 较长的文档,其中涵盖了新功能和实现决策。

© 2024 RabbitMQ. All rights reserved.