发布于 2016-11-09 00:56:39 | 112 次阅读 | 评论: 0 | 来源: 网友投递
这里有新鲜出炉的RabbitMQ 能为你做些什么?,程序狗速度看过来!
RabbitMQ 开源消息队列系统
RabbitMQ 是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成,因此也是继承了这些优点。
这是一个预计将于 2017 年上半年发布的预览功能版本。部分更新内容如下:
Minimum required Erlang/OTP version is now 18.3. Recent Erlang versions can be obtained from Erlang Solutions or RabbitMQ Erlang RPM repository.
GitHub issue: rabbitmq-server#546
.NET client is now .NET Core-compatible.
Starting with 3.7.0
, .NET client releases are decoupled from RabbitMQ server releases and exclusively distributed via the RabbitMQ.Client NuGet package.
Starting with 3.7.0
, Java client releases are decoupled from RabbitMQ server releases and exclusively distributed via Maven: RabbitMQ Milestones Maven repository, RabbitMQ Maven repository, as well as Maven Central.
增强
New configuration file format
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 both rabbitmq.conf
and advanced.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
Pluggable cluster peer discovery
Automatic clustering for blank (without an existing database) nodes now can discover
peers using a pluggable backend. This is a feature borrowed from the rabbitmq-autocluster plugin
by Gavin Roy.
GitHub issue: rabbitmq-server#486
Nodes in a cluster now can be restared in arbitrary order. They will attempt to contact
one of the previously seen peers periodically (10 times with 30 second intervals by default).
GitHub issue: rabbitmq-server#1022
Support config file path values with and without file extensions
RabbitMQ no longer requires RABBITMQ_CONFIG_FILE
values to not have a .config
or .conf
suffix. It will try appending both suffixes as needed when searching for suitable config file(s) to load.
Github Issue: rabbitmq-server#691
Operators now can configure how many concurrent connections are allowed in a vhost.
GitHub issue: rabbitmq-server#500
Operators now can configure how many queues can exist in a vhost.
GitHub issue: rabbitmq-server#501
Operator policies: their definitions are merged with the standard (user) policies and allow operators put global
limits in place, e.g. max queue length or message TTL.
GitHub issue: rabbitmq-server#930
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
Deleting a vhost now will force close all connections in it.
GitHub issue: rabbitmq-server#627
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 修复
Mirrored queue could terminate if a policy is re-applied concurrently after promotion
GitHub issue: rabbitmq-server#803
Old incarnations of queue mirrors are stopped before new ones start
GitHub issue: rabbitmq-server#863
Channel interceptors are enabled/disabled together with plugins
GitHub issue: rabbitmq-server#559