RabbitMQ 3.6.1 RC1 发布
RabbitMQ 是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成,因此也是继承了这些优点。
AMQP 里主要要说两个组件:Exchange 和 Queue (在 AMQP 1.0 里还会有变动),如下图所示,绿色的 X 就是 Exchange ,红色的是 Queue ,这两者都在 Server 端,又称作 Broker ,这部分是 RabbitMQ 实现的,而蓝色的则是客户端,通常有 Producer 和 Consumer 两种类型。
RabbitMQ 3.6.1 RC1 发布了,下载地址:
https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_6_1_rc1
该版本完整的改进内容如下:
Bug Fixes
Purging a lazy queue could result in an exception
GitHub issue: rabbitmq-server#514
Channel error could make broker unreachable
Those errors were misleadingly logged as
channel_termination_timeout
, which
the issue really was with unhandled messages from concurrently closed TCP socket process.GitHub issue: rabbitmq-server#530
(Automatic) deletion of an auto-delete queue could lead
to blocked channelsGitHub issue: rabbitmq-server#581
Heavy and/or prolonged
rabbitmqctl
use could exhaust Erlang VM atom tableGitHub issue: rabbitmq-server#549
"Min masters" queue master location strategy could result
in an error.GitHub issue: rabbitmq-server#521
Fixed a race condition in
pause_minority
handling mode.GitHub issue: rabbitmq-server#307
Significantly reduce possibility of a race condition when
an exchange is deleted and immediately re-declared, e.g. by a federation
link.This could result in a link operation being blocked, preventing
nodes from stopping.GitHub issue: rabbitmq-federation#7
amq.rabbitmq.log
messages now have information about originating
node in message headersGitHub issue: rabbitmq-server#595
scripts/rabbitmq-env
now works with GNU sed 4.2.2GitHub issue: rabbitmq-server#592
Exceptions in VM memory use calculator no longer affect broker startup
GitHub issue: rabbitmq-server#328
Direct Reply-to capability is now advertised to clients
GitHub issue: rabbitmq-server#520
Enhancements
Paths with non-ASCII characters on Windows are now handled
RabbitMQ no can be installed into a location with non-ASCII characters,
e.g. when username contains them.GitHub issues: rabbitmq-server#493
Configurable number of TCP connection acceptors
Plus a x10 increase of the default. This helps with workloads where connection
churn is very high (e.g. all clients are PHP Web apps that cannot maintain
long-lived connections).GitHub issues: rabbitmq-server#528
rabbitmqctl cluster_status
now includes cluster-wide resource alarm statusGitHub issue: rabbitmq-server#392
Improved
rabbitmqctl reset
error messagesGitHub issue: rabbitmq-server#167
More unsigned field data types are supported.
GitHub issue: rabbitmq-server#20
Java client
Enhancements
Endpoints (hostnames) are now also accepted as a
java.util.List
GitHub issue: rabbitmq-java-client#125
Autorecovering connections now shuffle hosts in a more
reliable wayGitHub issue: rabbitmq-java-client#124
Bug Fixes
Binding recovery could fail
GitHub issue: rabbitmq-java-client#129
Channel.queueDelete
could throw aNullPointerException
GitHub issue: rabbitmq-java-client#120
.NET client
Bug Fixes
Autorecovering connections now use full list of provided hostnames
during recoveryGitHub issues: rabbitmq-dotnet-client#153
Federation Plugin
Bug Fixes
Significantly reduce possibility of a race condition when
an exchange is deleted and immediately re-declared, e.g. by a federation
linkThis rendered federation links dysfunctional.
GitHub issue: rabbitmq-federation#7
Management plugin
Enhancements
Password hashing function is now included in exported definitions
Those upgrading from versions earlier than
3.6.0
via definitions export
won't have to temporarily set hashing function to MD5 to ensure export succeeds.GitHub issue: rabbitmq-management#117
Bug Fixes
Internet Explorer (9+) compatibility restored
GitHub issue: rabbitmq-management#98
Internet Explorer 11 compatibility fixes
GitHub issues: rabbitmq-management#112,
rabbitmq-management#114When policy fails to be created with invalid paramaters a sensible
error message will be displayed.GitHub issue: rabbitmq-management#110
Web STOMP plugin
Bug Fixes
Cowboy options are now supported for TLS listeners.
GitHub issue: rabbitmq-web-stomp#36
Web STOMP Examples plugin
Bug Fixes
Multi-byte UTF-8 characters are now handled
by the bundled version of stomp.js.GitHub issue: rabbitmq-web-stomp-examples#2
Event Exchange plugin
Bug Fixes
Event timestamps are now in seconds, not milliseconds
Per AMQP 0-9-1 spec. This is not a particularly great choice for events,
so we will add an optional header with millisecond precision in a future release.GitHub issue: rabbitmq-event-exchange#8
JSON RPC plugin
Note: this plugin is deprecated and its use is highly discouraged.
Enhancements
RabbitmQ
3.6.x
support.GitHub issue: rabbitmq-jsonrpc#3