AMQP消息服務器 RabbitMQ v3.7.0 發布
簡介
RabbitMQ是實現AMQP(高級消息隊列協議)的消息中間件的一種,最初起源于金融系統,用于在分布式系統中存儲轉發消息,在易用性、擴展性、高可用性等方面表現不俗。消息中間件主要用于組件之間的解耦,消息的發送者無需知道消息使用者的存在,反之亦然。
AMQP 里主要要說兩個組件:Exchange 和 Queue (在 AMQP 1.0 里還會有變動),如下圖所示,綠色的 X 就是 Exchange ,紅色的是 Queue ,這兩者都在 Server 端,又稱作 Broker ,這部分是 RabbitMQ 實現的,而藍色的則是客戶端,通常有 Producer 和 Consumer 兩種類型。
更新日志
重大更新
-
Minimum required Erlang/OTP version is now 18.3
GitHub issue: rabbitmq-server#546
Server
功能增強
-
New configuration file format
I RabbitMQ now supports a new configuration file format.
The format is based on sysctl
and is similar to.ini
files. Erlang term configuration files are still supported, it is also
possible to combine the two formats (use bothrabbitmq.conf
andadvanced.config
).Most documentation examples were updated to use both new and classic config formats. See the docs
at next.rabbitmq.com, in particular the configuration guide,
for more information.GitHub issue: rabbitmq-server#550
-
Support config file path values with and without file extensions
RabbitMQ no longer requires
RABBITMQ_CONFIG_FILE
values that have a.config
or.conf
suffix--it can handle the string either way.Github Issue: rabbitmq-server#691
-
Plugin version constraints
RabbitMQ now has a mechanism for plugin authors to indicate what versions a plugin is compatible with. Incompatible plugins are logged and ignored.
Github Issue: rabbitmq-server#591,
rabbitmq-server#735 -
Lager-based logging: pluggable backends, debug log level, more flexibility in
configuration.RabbitMQ now uses Lager for its logging subsystem.
This brings a group of benefits: (quite verbose) debug log level, pluggable logging
backends (e.g. logging to Syslog no longer requires external tools), and much
more flexibility in logging configuration.See rabbitmq.config.example
for examples of logging configuration with Lager.GitHub issue: rabbitmq-server#94
-
LF and CR are now stripped off of names of queues and exchanges
Although line feeds in names are permitted under the AMQP 0-9-1 spec, in practice they can make it very difficult to work with queues and exchanges. Stripping them out makes life much easier for developers.
Github issue: rabbitmq-server#710
-
Deletion of auto-delete and exclusive queues now leaves (debug) log entries
GitHub issue: rabbitmq-server#590
Bug修復
-
Channel interceptors are enabled/disabled together with plugins
GitHub issue: rabbitmq-server#559
Management plugin
功能增強
-
Report more TLS-related values via HTTP API
The HTTP API now reports all SSL/TLS options available for the RabbitMQ server as well as for the management plugin.
GitHub issue: rabbitmq-management#163
-
Migration to Cowboy REST
RabbitMQ management plugin as well as its extensions (e.g. those of
Federation and Shovel) now uses Cowboy REST
instead of Webmachine. Cowboy is a state-of-the-art open source Erlang HTTP 1.1 server and REST microframework
that is also used in the plugins that provide WebSocket support.The change is largely invisible to management UI and HTTP API
clients. Biggest difference is that PUT responses now use201 Created
instead of
204 No Content
.Plugins that extend management UI need to be ported to Cowboy REST.
GitHub issue: rabbitmq-management#63
-
Dual IP Stack Support
Management plugin now can be configured to use IPv6 or both IPv6 and IPv4.
GitHub issue: rabbitmq-management#64
-
"Get messages" in the UI now offers more requeueing options
GitHub issue: rabbitmq-management#68
Java client
功能增強
-
Bump default TLS version to v1.2 with a fallback for older JDKs
The Java client now attempts to use TLS v1.2 by default (which many RabbitMQ servers prefer due to vulnerabilities in TLS v1), but falls back to TLS v1 for older JDKs such as JDK 6.
GitHub issue: rabbitmq-java-client#139
-
Begin recovery after all shutdown listeners have been given a chance to run
GitHub issue: rabbitmq-java-client#135
-
com.rabbitmq.client.Connection
andcom.rabbitmq.client.Channel
now implementjava.io.Closeable
GitHub issue: rabbitmq-java-client#131
MQTT plugin
功能增強
-
QoS 2 subscriptions are downgraded to QoS 1
GitHub issue: rabbitmq-mqtt#21
Shovel Plugin
功能增強
-
Message timestamping.
Shovel now adds an extra header that contains the timestamp
indicating when message was shovelled.GitHub issue: rabbitmq-shovel#2
下載地址
- 273 KBamqp_client-3.7.500.4.ez
- 198 Bytesamqp_client-3.7.500.4.ez.asc
- 163 KBrabbitmq-dotnet-client-3.7.500.4-dotnet-4.5.zip
- 198 Bytesrabbitmq-dotnet-client-3.7.500.4-dotnet-4.5.zip.asc
- 1.43 MBrabbitmq-java-client-bin-3.7.500.4.tar.gz
- 198 Bytesrabbitmq-java-client-bin-3.7.500.4.tar.gz.asc
- 1.43 MBrabbitmq-java-client-bin-3.7.500.4.zip
- 198 Bytesrabbitmq-java-client-bin-3.7.500.4.zip.asc
- 3.71 MBrabbitmq-server-3.7.500.4-1.noarch.rpm
- 198 Bytesrabbitmq-server-3.7.500.4-1.noarch.rpm.asc
- 2.41 MBrabbitmq-server-3.7.500.4-1.src.rpm
- 198 Bytesrabbitmq-server-3.7.500.4-1.src.rpm.asc
- 3.71 MBrabbitmq-server-3.7.500.4-1.suse.noarch.rpm
- 198 Bytesrabbitmq-server-3.7.500.4-1.suse.noarch.rpm.asc
- 2.41 MBrabbitmq-server-3.7.500.4-1.suse.src.rpm
- 198 Bytesrabbitmq-server-3.7.500.4-1.suse.src.rpm.asc
- 3.62 MBrabbitmq-server-3.7.500.4.exe
- 198 Bytesrabbitmq-server-3.7.500.4.exe.asc
- 2.4 MBrabbitmq-server-3.7.500.4.tar.xz
- 198 Bytesrabbitmq-server-3.7.500.4.tar.xz.asc
- 4.77 MBrabbitmq-server-3.7.500.4.zip
- 198 Bytesrabbitmq-server-3.7.500.4.zip.asc
- 3.51 MBrabbitmq-server-generic-unix-3.7.500.4.tar.xz
- 198 Bytesrabbitmq-server-generic-unix-3.7.500.4.tar.xz.asc
- 14.9 MBrabbitmq-server-mac-standalone-3.7.500.4.tar.xz
- 198 Bytesrabbitmq-server-mac-standalone-3.7.500.4.tar.xz.asc
- 3.82 MBrabbitmq-server-windows-3.7.500.4.zip
- 198 Bytesrabbitmq-server-windows-3.7.500.4.zip.asc
- 6.54 KBrabbitmq-server_3.7.500.4-1.debian.tar.gz
- 198 Bytesrabbitmq-server_3.7.500.4-1.debian.tar.gz.asc
- 1.35 KBrabbitmq-server_3.7.500.4-1.dsc
- 198 Bytesrabbitmq-server_3.7.500.4-1.dsc.asc
- 3.67 MBrabbitmq-server_3.7.500.4-1_all.deb
- 198 Bytesrabbitmq-server_3.7.500.4-1_all.deb.asc
- 1.81 KBrabbitmq-server_3.7.500.4-1_i386.changes
- 198 Bytesrabbitmq-server_3.7.500.4-1_i386.changes.asc
- 2.4 MBrabbitmq-server_3.7.500.4.orig.tar.xz
- 198 Bytesrabbitmq-server_3.7.500.4.orig.tar.xz.asc
- 761 KBrabbit_common-3.7.500.4.ez
- 198 Bytesrabbit_common-3.7.500.4.ez.asc
- Source code (zip)
- Source code (tar.gz)