红联Linux门户
Linux帮助

RabbitMQ 3.5.5正式发布,AMQP消息服务器

发布时间:2015-09-25 15:03:54来源:红联作者:empast
RabbitMQ 3.5.5 正式发布,此版本除了常规的 bug 修复之外,提升了队列页面信息到磁盘的速度。

UPDATE 2:新 RPM 和 Debian 包已经附在发行说明里面,主要修复了两个回退问题:

#321; Thanks to Emilien Macchi (@EmilienM), Denis Egorenko (@degorenko) and Kostikas Tom for reporting the issue!

#325; Thanks to @CVTJNII for the patch!

UPDATE 1:移除了 RPM 和 Debian 包,因为一个 shell 脚本包括一个 Bash 行。

服务器

功能增强

Improve performance when a queue's journal is written to disk (rabbitmq/rabbitmq-server#227, rabbitmq/rabbitmq-server#289).

Improve performance when a queue is purged (rabbitmq/rabbitmq-server#295).

Introduce new options to tune the queue paging performance (rabbitmq/rabbitmq-server#284). These are low-level settings and should be handled carefully. Here are the default values:

Improve performance when expired messages need to be removed and no dead-letter exchange has been set up, by grouping handling of delivers and ack (rabbitmq/rabbitmq-server#308).

Add an option to disable file_handle_cache's read cache (rabbitmq/rabbitmq-server#226). This read cache was reported to be a performance penalty, especially when a starting RabbitMQ slave needs to synchronize and fetch messages from a master node. We now offer an option to disable this cache and we plan to disable it by default in RabbitMQ 3.6.0. Here is how to use this new option:

The queue_index_embed_msgs_below parameter is now read once from the application environment when the queue is created, instead of every time it is needed (rabbitmq/rabbitmq-server#291). This removes a bottleneck by avoiding synchronous calls to the Erlang application server.

Reduce default heartbeat interval from 580 to 60 seconds (rabbitmq/rabbitmq-server#297). This is a more sensible default value, after considering what users usually do.

Force essential TCP options (rabbitmq/rabbitmq-server#282), especially {reuseaddr, true}. User won't have to copy them when tuning TCP options anymore and this decreases the risk of errors.

Catch SIGTERM and other signals in the rabbitmq-server script to stop RabbitMQ gracefully (rabbitmq/rabbitmq-server#234). This mostly targets Docker users. Thanks to Duncan Gordon (@dunk) for reporting the issue!

Honor !RABBITMQ_BASE! value for the default location of rabbitmq-env-conf.bat (rabbitmq/rabbitmq-server#239). Thanks to Jared Kauppila (@Jakauppila) for the patch!

Warn user if a 32-bit Erlang runtime is used (rabbitmq/rabbitmq-server#251), due to the limited address space and the possible memory shortage.

Bug 修复

Fix a queue hang when a slave node is lost (rabbitmq/rabbitmq-server#224). Thanks to John Eckersberg (@jeckersb) for reporting the issue!

Fix a crash during startup when RabbitMQ tries to clean non-existing bindings (rabbitmq/rabbitmq-server#235). Thanks to Magnus Henoch (@legoscia) for the patch!

Support backticks in the password field when adding a user with rabbitmqctl on Unix (rabbitmq/rabbitmq-server#313). Thanks to Ben Page (@ben-page) for the patch!

Fix how NODE_IP_ADDRESS and NODE_PORT are handled in rabbitmq-env.bat on Windows (rabbitmq/rabbitmq-server#243, rabbitmq/rabbitmq-server#288). This bug made it impossible to override TCP listen port, for example. Since RabbitMQ 3.5.4. Thanks to @sukinsky for reporting the problem and Jared Kauppila (@Jakauppila) for the patch!

Fix a problem in gen_server2 causing calls to timeout under certain conditions (rabbitmq/rabbitmq-server#268). Thanks to Feng Lee (@erylee) for the patch!

Support old version of GNU sed (rabbitmq/rabbitmq-server#273). Since RabbitMQ 3.5.2. Thanks to Nishan Naseer (@nishan) for the patch!

插件:Federation

Bug 修复

Fix a crash when certain headers are already present in the forwarded message (rabbitmq/rabbitmq-federation#12).

Increase reconnection delay from 1 to 5 seconds (rabbitmq/rabbitmq-federation#15). This reduces the noise in the SASL log file.

Ignore federation-specific headers added by clients (rabbitmq/rabbitmq-federation#16).

插件:Management UI

功能增强

Do not consider non-UTF-8 content as invalid (rabbitmq/rabbitmq-management#48). Now, the plugin just mentions why it cannot display it.

Split long Base64 content in multiple lines (rabbitmq/rabbitmq-management#49).

Bug 修复

Fix a bug with rounding moving averages (rabbitmq/rabbitmq-management#35).

插件:MQTT

功能增强

Coerce default_user, default_pass, exchange and vhost to Erlang binaries (rabbitmq/rabbitmq-mqtt#32).

插件:STOMP

增强

Set the redelivered header to a boolean value (rabbitmq/rabbitmq-stomp#21).

Properly propagate extensions headers (x-headers) in the SUBSCRIBE and SEND frames (rabbitmq/rabbitmq-stomp#16).

Bug 修复

Duplicate subscription IDs no longer result in unhandled exceptions.

客户端库:Java

功能增强

Use JUnit 4 in the testsuite (rabbitmq/rabbitmq-java-client#89).

Bug 修复

Stop recovery when a client is closed (rabbitmq/rabbitmq-java-client#77).

Make connection handshake timeout configurable (rabbitmq/rabbitmq-java-client#81, rabbitmq/rabbitmq-java-client#92).

客户端库:.NET

Bug 修复

Handle ObjectDisposed exceptions gracefully when re-scheduling timers (rabbitmq/rabbitmq-dotnet-client#118).

Do not throw exceptions from a Dispose method (rabbitmq/rabbitmq-dotnet-client#119)

升级:http://www.rabbitmq.com/clustering.html#upgrading

RabbitMQ 是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成,因此也是继承了这些优点。

软件详情:https://github.com/rabbitmq/rabbitmq-server/

下载地址:https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_5_5/rabbitmq-server-3.5.5.tar.gz

来自:开源中国社区
文章评论

共有 0 条评论