【原創】RabbitMQ 之 Plugins(翻譯)

      爲了方便工做中使用,對 RabbitMQ 的【插件】相關文檔進行了翻譯,鑑於本身水平有限,翻譯中不免有紕漏產生,若是疑問,歡迎指出探討。此文以中英對照方式呈現。
官方原文:http://www.rabbitmq.com/plugins.html php

========== 我是分割線 =============

Plugins


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

To enable plugins, use the rabbitmq-plugins tool:
能夠經過命令行工具 [ rabbitmq-plugins] 使能插件:  node

rabbitmq-plugins enable plugin-name

And to disable plugins again, use:
經過以下命令 去使能插件:  git

rabbitmq-plugins disable plugin-name

You can see a list of which plugins are enabled with:
經過以下命令 查看哪些插件被使能了:  github

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 以便激活使能的插件 web

For more information on rabbitmq-plugins, consult the manual page.
更多關於命令行工具 rabbitmq-plugins 的信息,請參閱 [the manual page] 。 shell

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 以前的插件的二進制文件。  json

Maintained Plugins
處於維護狀態的插件

rabbitmq_auth_backend_ldap

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

支持使用外部 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 的插件。

相關文章
相關標籤/搜索