【原创】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一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
26天前
|
消息中间件 Java Docker
RabbitMQ入门指南(一):初识与安装
RabbitMQ是一个高效、可靠的开源消息队列系统,广泛用于软件开发、数据传输、微服务等领域。本文主要介绍了消息队列、RabbitMQ简介及其安装步骤等内容。
39 0
RabbitMQ入门指南(一):初识与安装
|
消息中间件 SQL 存储
超详细的RabbitMQ入门,看这篇就够了!
RabbitMQ入门,看这篇就够了
182802 57
|
5月前
|
消息中间件 监控 Linux
【RabbitMQ教程】第一章 —— RabbitMQ - 安装
【RabbitMQ教程】第一章 —— RabbitMQ - 安装
|
5月前
|
消息中间件 中间件
【RabbitMQ教程】第三章 —— RabbitMQ - 发布确认
【RabbitMQ教程】第三章 —— RabbitMQ - 发布确认
|
9月前
|
消息中间件 中间件 微服务
RabbitMQ 入门简介及安装
RabbitMQ 入门简介及安装
88 0
|
10月前
|
消息中间件 Java
RabbmitMQ学习笔记-RabbitMQ与SpringBoot2.0整合实战
在使用 RabbitMQ 的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景。RabbitMQ 为我们提供了两种方式用来控制消息的投递可靠性模式。
83 0
|
消息中间件 缓存 网络安全
|
消息中间件 Python Windows
初学Python——RabbitMQ的安装
记录踩坑之路,本篇文章主要摘抄自CSDN博客https://blog.csdn.net/weixin_39735923/article/details/79288578 Windows10环境下安装RabbtiMQ的步骤 第一步:下载并安装Erlang 原因:RabbitMQ服务器端代码是使用Erlang语言编写的,它依赖于Erlang运行。
1783 0
|
消息中间件 Kafka Java
kafka官方文档学习笔记2--QuickStart
1)kafka的下载&安装; 2)kafka中bin目录中脚本和config目录下配置文件用途介绍; 3)topic的创建、删除;
1762 0