【原创】RabbitMQ 之 Plugins(翻译)

简介:

      为了方便工作中使用,对 RabbitMQ 的【插件】相关文档进行了翻译,鉴于自己水平有限,翻译中难免有纰漏产生,如果疑问,欢迎指出探讨。此文以中英对照方式呈现。
官方原文:http://www.rabbitmq.com/plugins.html

========== 我是分割线 =============  

Plugins


RabbitMQ supports a variety of plugins. This page documents the plugins that ship with RabbitMQ 3.0.1.
RabbitMQ 支持许多插件。当前页面列出了 RabbitMQ 3.0.1 可用的插件。

To enable plugins, use the rabbitmq-plugins tool:
可以通过命令行工具 [ rabbitmq-plugins使能插件: 

?
1
rabbitmq-plugins enable plugin-name

And to disable plugins again, use:
通过如下命令 去使能插件: 

?
1
rabbitmq-plugins disable plugin-name

You can see a list of which plugins are enabled with:
通过如下命令 查看哪些插件被使能了: 

?
1
rabbitmq-plugins list

Enabling or disabling plugins has no effect on a running RabbitMQ server. You will need to (re)start RabbitMQ for the enabled plugins to be activated.
在一个处于运行状态的 RabbitMQ server 上,执行使能或者去使能插件的命令是不会产生效果的。你需要(重新)启动 RabbitMQ 以便激活使能的插件

For more information on rabbitmq-plugins, consult the manual page.
更多关于命令行工具 rabbitmq-plugins 的信息,请参阅 [the manual page] 。

Note: Releases prior to 2.7.0 did not include plugins with the server, and any plugins that were installed were always activated; rabbitmq-plugins did not exist. You can download binary plugin files for older releases from the archive. Note further that we did not make binary plugins available prior to release 2.0.0.
注意:在 2.7.0 之前的 release 版本中并未随 server 包含相应插件,同时任何被安装的插件永远处于激活状态;命令行工具 rabbitmq-plugins 不存在。你可以从 [ the archive] 处下载到各种老版本支持的相应插件的二进制文件。另外需要注意的是,我们没有创建 release 2.0.0 之前的插件的二进制文件。 

Maintained Plugins
处于维护状态的插件

rabbitmq_auth_backend_ldap

Authentication / authorisation plugin using an external LDAP server. See the README for more information.

支持使用外部 LDAP 服务器进行鉴权/授权的插件。详细信息参阅 [README] 。

rabbitmq_auth_mechanism_ssl

Authentication mechanism plugin using SASL EXTERNAL to authenticate using SSL client certificates. See the README for more information.

该提供鉴权机制的插件,通过 SASL EXTERNAL 方式对使用 SSL 客户端证书的客户端进行鉴权。详细信息参阅 [README]

rabbitmq_federation

Scalable publish / subscribe messaging across WANs and administrative domains. See the page on the federation plugin for more information.

在管理域内,提供可伸缩的跨越 WAN 的 publish / subscribe 消息传输机制。详细信息参阅 [the page on the federation plugin]

rabbitmq_federation_management

Shows federation status in the management API and UI. Only of use when using rabbitmq_federation in conjunction with rabbitmq_management. In a heterogenous cluster this should be installed on the same nodes as rabbitmq_management.

在管理 API 和 UI 中显示 federation 状态信息。仅在同时使用 rabbitmq_federation 和 rabbitmq_management 插件时有效。在异源 cluster 中,该插件应该与 rabbitmq_management 插件安装于同一个 node 上。

rabbitmq_management

A management / monitoring API over HTTP, along with a browser-based UI. For more information, see the page on the management plugin.

基于浏览器 UI 提供基于 HTTP 协议的 管理/监控 API 。详细信息参阅 [the page on the management plugin] 。

rabbitmq_management_agent

When installing the management plugin on some of the nodes in a cluster, you must install rabbitmq_management_agent on all of the nodes in the cluster. You can install the full management plugin on as many of the nodes as you want.

当在 cluster 中的一些 node 上安装了管理插件时,你必须在 cluster 中的所有 node 上安装 rabbitmq_management_agent 插件。你可以任意多个 node 上安装全套管理相关插件。

rabbitmq_shovel

A plug-in for RabbitMQ that shovels messages from a queue on one broker to an exchange on another broker. Please see the page on the shovel plugin for more information or take a look at a working Shovel configuration.

该插件允许 RabbitMQ 将 message 从一个 broker 上的 queue 中 shovel 到另一个 broker 上的 exchange 上。详细信息请参阅 [the page on the shovel plugin] 或者参考 [a working Shovel configuration] 。

rabbitmq_shovel_management

Shows shovel status in the management API and UI. See the plugin README. Only of use when using rabbitmq_shovel in conjunction with rabbitmq_management. In a heterogenous cluster this should be installed on the same nodes as rabbitmq_management.

在管理 API 和 UI 中显示 shovel 状态信息。参阅插件的 [README] 。仅在同时使用 rabbitmq_shovel  rabbitmq_management 插件时有效。在异源 cluster 中,该插件应该与 rabbitmq_management 插件安装于同一个 node 上。

rabbitmq_stomp 

A gateway for exposing AMQP functionality via the STOMP protocol. (Some clients and servers supporting STOMP are listed here.) Please see the documentation and various blog articles about the adapter for more information on compiling and configuring it.

实现了通过 [STOMP] 协议提供 AMQP 功能的网关。(可以在 [here] 处查找支持 STOMP 协议的客户端和服务器。)请自行查阅相关[documentation]和各类 [blog articles],以学习如何编译和配置该功能。

Experimental Plugins
处于试验中的插件

Currently, all plugins below are experimental. This means we make no claims about their fitness for purpose or stability, though they are in general under active development.
当前,下表列出的插件都尚处于试验阶段,这意味着我们并未对其适用性或者稳定性做任何保证,尽管这些插件均以常规的有效方式开发。

rabbitmq_management_visualiser
Broker topology visualiser plugin which is itself a plugin to the management plugin. Adds a Visualiser tab to the management web interface, which then flexibly and interactively displays channels, queues and exchanges, and the links between them.
rabbitmq_consistent_hash_exchange
Consistent hash exchange type. Please see the README for more information.
rabbitmq_tracing
Adds message tracing to the management plugin. Logs messages from the firehose in a couple of formats.
rabbitmq_jsonrpc_channel
An AMQP-over-HTTP protocol binding for RabbitMQ and some Javascript libraries for interacting with RabbitMQ over HTTP.
rabbitmq_jsonrpc_channel_examples
Adds some example web applications to rabbitmq_jsonrpc_channel: a shared whiteboard, a chat application, and some tests.
rabbitmq_web_stomp
A bridge exposing rabbitmq_stomp to web browsers using WebSockets, using the WebSockets emulation / compatibility layer SockJS. Please see the page on the web-stomp plugin.
rabbitmq_web_stomp_examples
Adds some basic examples to rabbitmq_web_stomp: a simple "echo" service and a basic canvas-based collaboration tool.
rabbitmq_mqtt
An adapter implementing the MQTT 3.1 protocol. See the README for more details.

Installing Additional Plugins
安装额外的插件

Some plugins are also available from third party sources. Plugins will generally be available in two forms. The expected form for a packaged plugin will be a .ez erlang archive. Alternatively, more developmental plugins may be distributed directly from source control, in which case see Building Plugins below. Once you have one or more .ez archives for your plugins, you need to copy them to the plugins directiory.
一些插件同样可以从第三方处获得。插件通常以如下两种形式呈现:常规的形式为以 .ez 作为后缀的 erlang archive 包;另外一种,同时也是处于开发更新状态中的插件,可能会直接通过源码的形式进行发布,在这种情况下可以参考下面的 Building Plugins 内容。一旦你获得了一个或者多个 .ez 插件文件,你唯一需要做的就是将其拷贝到相应的插件目录中去。

The plugins directory location is determined by the RABBITMQ_PLUGINS_DIR variable. Its default value depends on how you installed RabbitMQ. Some common values are:
插件目录的位置由环境变量 RABBITMQ_PLUGINS_DIR 决定。其默认值依赖于你安装 RabbitMQ 的方式。一些常见的值如下表: 

Installation method
Plugins directory
Debian/RPM packages
/usr/lib/rabbitmq/lib/rabbitmq_server-version/plugins
Windows
Typically C:\Program Files\RabbitMQ\rabbitmq_server-version\plugins (depending on where it was installed)
Macports
${install_prefix}/lib/rabbitmq/lib/rabbitmq_server-version/plugins (the Macports ${install_prefix} defaults to /opt/local)
Homebrew
/usr/local/Cellar/rabbitmq/version/lib/rabbitmq/erlang/lib/rabbitmq-version/plugins
Generic Unix
rabbitmq_server-version/plugins (depending on where it was installed)

The variable's meaning has changed in 2.7.0: whereas it previously referred to the directory of installed plugins, it now refers to the directory with all available plugins. The rabbitmq-plugins tool can only enable plugins found in this directory.
该变量的含义从版本 2.7.0 开始发生了改变:在 2.7.0 之前,其表示已安装插件所在的目录,改变之后的含义为可用插件所在目录。命令行工具 rabbitmq-plugins 只能使能在该目录下的可找到的插件。 

Plugins and Upgrades
插件升级

The enabled plugins configuration is preserved between upgrades, so there is no need to re-enable plugins after an upgrade, but because the plugins directory changes between versions, any third party plugins will need to be copied to the new directory. It's very possible that due to API changes you may need to check for updates to third party plugins at this point.
已使能插件的配置信息在 升级过程中会 被保留,故不需要在升级后重新使能插件,但是由于不同版本中规定的插件目录的位置可能不同,第三方插件将需要被手动拷贝到新目录。还有一种非常可能发生的情况是,由于 API 发生了改变,你可能需要自己去检查第三方插件并更新。 

Building Plugins
创建插件

You can also build RabbitMQ plugins from source. The sources for a particular version of the plugins is distributed in the same archive as the broker with that version. The source code repositories can all be found on our Mercurial server. See the plugin development guide for more information on building plugins from source.
你同样可以从源码创建插件。特定版本的插件的源码与相应版本 broker 的源码在同样的 archive 包中发布。源码仓库位于 [ Mercurial server] 中。参阅 [ plugin development] 中关于从源码编译插件的更多相关信息。

Note that plugins tend to be strongly bound to a particular version of rabbitmq-server. For example, if you are running RabbitMQ 3.0.1, you should check out all plugins with the Mercurial tag rabbitmq_v3_0_1.
值得注意的是,插件一般情况下是与特定版本的 rabbitmq-server 强绑定的。例如,如果你运行的是 RabbitMQ 3.0.1 版本,你应该检出所有带有 Mercurial tag 为 rabbitmq_v3_0_1 的插件。


相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
缓存 关系型数据库 数据库
PostgreSQL技术大讲堂 - 第32讲:数据库参数调整
从零开始学PostgreSQL技术大讲堂 - 第32讲:数据库参数调整
989 2
|
10月前
|
机器学习/深度学习 人工智能 搜索推荐
当AI遇上元宇宙:内容生产的“外挂”时代
当AI遇上元宇宙:内容生产的“外挂”时代
401 8
|
存储 人工智能 Kubernetes
AI 场景深度优化!K8s 集群 OSSFS 2.0 存储卷全面升级,高效访问 OSS 数据
阿里云对象存储OSS是一款海量、安全、低成本、高可靠的云存储服务,是用户在云上存储的高性价比选择…
|
7月前
|
人工智能 文字识别 自然语言处理
数字员工:用 TextIn + Coze 构建企业跨国供应链的“知识审计链”
数字员工:用 TextIn + Coze 构建企业跨国供应链的“知识审计链”
224 0
 数字员工:用 TextIn + Coze 构建企业跨国供应链的“知识审计链”
|
6月前
|
存储 缓存 安全
阿里云服务器计算型、通用型、内存型实例选购指南:如何选择最适合您的云服务器实例规格
在阿里云的实例规格中,属于计算型实例规格的热门实例主要有计算型c9i、计算型c9a、计算型c8y、计算型c8i等实例规格,属于通用型实例规格的云服务器有通用型g9i、通用型g9a、通用型g8y、通用型g8i,属于内存型实例规格的云服务器有内存型r9i、内存型r9a、内存型r8y、内存型r8i等实例。不同实例规格的云服务器在架构、计算、存储、网络、安全等方面有着不同,因此,其适用场景也有所不同。本文为大家解析计算型、通用型、内存型实例的区别,并为您提供选择参考。
|
11月前
|
边缘计算 关系型数据库 分布式数据库
PolarDB Supabase Edge Functions - 让函数,随时可用
PolarDB Supabase Edge Functions 是现代全栈开发的无服务器引擎,基于 Deno 运行时构建,支持在全球边缘节点部署自定义代码,实现低延迟、高可用的 API 与事件处理。它提供 CLI 和可视化 Studio 两种开发方式,打造高效开发闭环。相比开源版 Supabase,PolarDB Supabase 在公有云环境中实现了完整功能闭环,兼顾企业级控制力与便捷开发体验。
PolarDB Supabase Edge Functions - 让函数,随时可用
|
存储 JSON 安全
使用 Qwen 进行Self-instruct数据生成
使用Qwen进行自指令数据生成,通过Self-instruct技术自动化为大型语言模型生成指令。用户可安装CAMEL包并设置Qwen API密钥,配置ChatAgent和SelfInstructPipeline,基于种子指令迭代生成大量新指令。支持多种过滤器(如长度、关键词、标点符号等)确保生成指令的质量和多样性。欢迎加入Discord获取支持与交流。
使用 Qwen 进行Self-instruct数据生成
|
NoSQL 关系型数据库 MySQL
8款优秀的MYSQL管理工具与应用程序推荐
8款优秀的MYSQL管理工具与应用程序推荐
1716 1
8款优秀的MYSQL管理工具与应用程序推荐
|
NoSQL Redis Docker
揭秘Github火爆的开源IP代理池秘密!
爬虫新利器:揭秘Github火爆的开源IP代理池秘密!
1629 0
|
机器学习/深度学习 搜索推荐 算法
【前沿解读】17篇2023淘天业务技术A类顶会论文(下)
【前沿解读】17篇2023淘天业务技术A类顶会论文(下)
951 3