全新的 3.7.0 版本 rabbitmqctl
·2 分钟阅读
截至 v3.7.0 Milestone 8,RabbitMQ 发布了一套全新的 CLI 工具(rabbitmqctl
、rabbitmq-plugins
等),这些工具是从零开始重新设计的。我们在这个项目中有几个目标。
我们希望使用更友好的命令行解析器,并生成更有用的帮助和错误消息。
- CLI 工具应该可以通过插件扩展:诸如 management、federation、shovel、trust store 等插件都有需要通过 CLI 工具调用的功能,但之前唯一的方法是
rabbitmqctl eval
,这很容易出错并且可能很危险。 - 我们想在一个真实的项目中尝试 Elixir,并使不熟悉 Erlang 的开发人员更容易扩展 CLI 功能。
- 我们的 CLI 工具在历史上没有良好的测试覆盖率;新的工具应该有(并且确实有)。
- CLI 工具应该能够生成机器友好的格式,无论是 JSON、CSV 还是其他格式;在最初的实现中,没有用于执行此操作的内部基础设施。
- CLI 工具应该是一个独立的存储库,就像所有插件、客户端库等等一样。
九个月后,该实验被宣布成功并集成到 RabbitMQ 发行版中。
请尝试 v3.7.0 Milestone 8,并查看 扩展 CLI 有多容易。
还有一个 更长的文档,其中涵盖了新功能和实施决策。