RabbitMQ 3.5.0 发布,AMQP 消息服务器

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

AMQP 里主要要说两个组件:Exchange 和 Queue (在 AMQP 1.0 里还会有变动),如下图所示,绿色的 X 就是 Exchange ,红色的是 Queue ,这两者都在 Server 端,又称作 Broker ,这部分是 RabbitMQ 实现的,而蓝色的则是客户端,通常有 Producer 和 Consumer 两种类型:

改进记录包括:

Release: RabbitMQ 3.5.0

Release Highlights
==================

server
------
bug fixes
26527 Prevent huge GM / slave memory consumption under load by adding flow
      control to messages via GM (since 2.6.0)
26636 Fix inconsistencies and hangs when a node comes back online before its
      disappearance is fulled treated (since 3.1.0)
26622 Ensure channels don't deliver confirms when a pause mode lasts (since
      3.3.5)
26628 When using autoheal, ensure the leader waits for the winner to finish
      the autoheal process (since 3.3.0)
26467 Fix promotion of offline slaves, in particular if the slave crashed
      (since 3.4.0)
26631 Work around a possible hang in Erlang's "global" (since 3.4.2)
26614 Ensure rabbitmqctl.bat exits with code 1 if ERLANG_HOME is incorrect
      (since 1.0.0)
26426 Ensure epmd is restarted on Windows if it ends up running as a normal
      user and thus getting killed on logout (since 1.0.0)
26595 Fix a crash when querying SSL certificate info while the connection is
      closing (since 2.1.1)
26610 Restore the timeout error message while waiting for other cluster nodes
      (since 3.4.0)
26477 Only send 'user_authentication_success' event if
      rabbit_reader:auth_phase/2 accepts the user (since 3.3.0)

enhancements
26183 Move priority queues from an external plugin to the broker
26327 Embed messages smaller than a configurable size in the queue index
26457 Add read buffer cache to improve on-disk messages consumption
26543 Improve I/O performance by reading or writing several file segments
      in one operation
26465 New "pause_if_all_down" partition handling mode
26463 Ensure new mirrors are started when old ones go down when ha-mode=exactly
26469 Support separate authentication/authorization backends
26475 Add "rabbitmqctl rename_cluster_node"
25430 Further limit queue's journal size to avoid excessive memory use
26545 Prohibit deletion of amq.* exchanges
26393 Add more info to "user_authentication_*" events
26444 Improve performance parsing AMQP tables / arrays
26602 Add routing decision information to firehose messages
26615 Notify systemd when RabbitMQ is started, if "sd_notify" is available
26603 Improve unacked messages requeueing performance in priority queues
26427 Silence connection errors from load balancer sanity checks
26471 Log when HiPE is enabled

feature removal
26257 Remove support for the legacy (2.x compatible) form of the
      "cluster_nodes" configuration directive

management plugin
-----------------
bug fixes
26613 Fix exception on the node details page if the node goes
      online or offline while viewing (since 3.4.0)

enhancements
26522 Provide statistics about accesses to message store and queue index
24781 Provide statistics about file I/O
24921 rabbitmqadmin: Support Python 3
25652 Add a "move messages" UI
26561 Show per-queue disk message read/write rates
26598 Show cross-cluster networking statistics
26621 Display a warning when the management database is overloaded
24700 Support if-unused and if-empty for queue / exchange deletion

LDAP plugin
-----------
bug fixes
26601 Ensure tag_queries respects other_bind setting

MQTT plugin
-----------
enhancements
26278 Support authentication via SSL certificate

Web-STOMP plugin
----------------
enhancements
26504 Add configuration parameter for cowboy connection pool size

tracing plugin
--------------
enhancements
26619 Improve how logs are written to disk to increase performance
26620 Allow tracing plugin to truncate message bodies to increase performance

java client
-----------
bug fixes
26576 Make sure Channel#abort ignores IOExceptions as the docs say

enhancements
26571 Undeprecate QueueingConsumer
26617 Dynamically calculate number of consumer work service executor threads

feature removal
26007 Remove deprecated ConnectionFactory#getNumConsumerThreads,
      ConnectionFactory#setNumConsumerThreads, BasicProperties setters (in
      favour of BasicProperties.Builder) and Channel#recoveryAsync

.net client
-----------
bug fixes
26508 Synchronise SessionManager Count method (since 3.3.5)

enhancements
24699 Add a unit test to ensure channels are notified when a connection is
      closed
26329 Dispatch consumer methods concurrently
26420 Move the .NET guide to www.rabbitmq.com
26459 Use timer for heartbeats to reduce the number of threads and memory
      consumption
26483 Add ISubscription and IQueueingBasicConsumer interfaces
26505 Upgrade to Visual Studio 2013 project files
26507 Use a static exchange types array instead of creating a new list each
      time (since 3.3.5)
26509 Switch to auto-properties (since 3.3.5)
26510 Use a separate lock object in BlockingCell (since 3.3.5)
26511 Assorted doc string and member name prefix changes (since 3.3.5)
26512 Use EventHandler<T> and similar instead of homebrew event handler
      classes (since 3.3.5)
26513 Improve how authentication method names and URI schemas are compared in
      ConnectionFactory (since 3.3.5)
26514 Use TryParse instead of Parse in PrimitiveParser (since 3.3.5)
26534 Remove MSI installer
26550 Support TLS connections without client certificates

building and packaging
----------------------
bug fixes
26539 Use "exec" to run rabbitmq-server in rabbitmq-script-wrapper to ensure
      signals are correctly propagated (since 2.8.3)
26524 Improve error message when build dependencies are missing on Mac OS X
      (since 3.1.0)
26525 Do not install rabbitmq.config.example if DOC_INSTALL_DIR is unset
      (since 3.2.0)
26526 Replace GNU patch specific "--no-backup-if-mismatch" by a portable
      combination of patch(1) and find(1) (since 3.4.0)

Upgrading
=========
To upgrade a non-clustered RabbitMQ from release 2.1.1 or later, simply install
the new version. All configuration and persistent message data is retained.

To upgrade a clustered RabbitMQ from release 2.1.1 or later, install the new
version on all the nodes and follow the instructions at
http://www.rabbitmq.com/clustering.html#upgrading .

To upgrade RabbitMQ from release 2.1.0, first upgrade to 2.1.1 (all data will be
retained), and then to the current version as described above.

When upgrading from RabbitMQ versions prior to 2.1.0, the existing data will be
moved to a backup location and a fresh, empty database will be created. A
warning is recorded in the logs. If your RabbitMQ installation contains
important data then we recommend you contact support at rabbitmq.com for
assistance with the upgrade.

文章转载自 开源中国社区 [http://www.oschina.net]

时间: 2024-10-31 23:34:28

RabbitMQ 3.5.0 发布,AMQP 消息服务器的相关文章

RabbitMQ 2.8.0发布 MQ消息服务器

RabbitMQ 是一个高性能企业信息的新兴标准的AMQP实现.RabbitMQ服务器是基于一个可靠的平台Erlang/OTP,来提供极高的可靠性.可用性和可伸缩性.它提供了良好的吞吐量和延迟性能是可预测和相容的.结构紧凑.易于维护的代码库,促进快速定制和部署.RabbitMQ的发行还包括一个Java客户端,与任何兼容的AMQP服务器进行互操作. RabbitMQ主要特点: -强大的消息应用程序-使用方便-支持所有主要的操作系统上运行-支持数量庞大的开发平台-支持开源和http://www.al

RabbitMQ 2.6.0发布 企业消息系统

RabbitMQ 2.6.0本次发行的一大亮点是引入主动-主动HA,及队列在集群节点之间的复制.还有许多其他的改进,尤其是管理和重载插件程序,以及许多的错误修正. RabbitMQ是一个AMQP的实现,是高性能企业消息的新兴标准. RabbitMQ服务器是基于一个可靠的平台,Erlang/OTP,提供极高的可靠性,可用性和可伸缩性.它提供了良好的吞吐量和延迟性能,是可预测的和相容的.结构紧凑,易于维护的代码库,促进快速定制和部署. RabbitMQ的发行还包括一个Java客户端,与任何兼容的AM

RabbitMQ 2.6.0 RC 3 发布,AMQP 消息服务器

RabbitMQ 2.6.0 RC 3 发布,此版本主要改进: Lazy queues Much better queue synchronisation throughput Lower RAM use, tunable flow control Stronger password encryption with pluggable algorithms Development moved to GitHub; build system now uses erlang.mk Significa

RabbitMQ 3.6.7 发布,AMQP 消息服务器

RabbitMQ 是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现. RabbitMQ 3.6.7 是一个维护版本,包含一个重做的新管理插件,用于在所有集群节点(而不是一个专用节点)上存储收集的统计信息. 部分更新内容: Server Bug Fixes Queue master process could terminate with a {bad_match, {error, not_found}} error. r

OpenSIPS 1.7.0发布 开源SIP服务器

OpenSIPS 1.7.0此版本进行了的几个重大改进(DB area对话框支持,TCP和调试)和新功能(如事件通知接口,一个UAC注册模块,脚本支持等). OpenSIPS是一个成熟的开源SIP服务器,除了提供基本的SIP代理及SIP路由功能外,还提供了一些应用级的功能.OpenSIPS的结构非常灵活,其核心路由功能完全通过脚本来实现,可灵活定制各种路由策略,可灵活应用于语音.http://www.aliyun.com/zixun/aggregation/32073.html">视频通信

nfs-ganesha 1.1.0发布 用户空间服务器

NFS-GANESHA 是一个用户空间服务器,支持NFSv2.NFSv3和NFSv4.它支持的运行平台包括Linux,BSD variants和POSIX-compliant Unixes. nfs-ganesha 1.1.0 版本更新日志: -TIRPC现在可以支持RPCSEC_GSS的功能.-API实现了pNFS的特有性能. -增加了FSAL功能.-FSAL支持办理出VFS管理的任何文件系统.-支持NFSv4 ACL. -支持GPFS ACL. 下载地址: http://sourceforg

KLone v2.4.0发布 嵌入式HTTP服务器和Web开发框架

KLone 是一个全功能的支持多平台的嵌入式HTTP服务器软件和Webhttp://www.aliyun.com/zixun/aggregation/13435.html">开发框架,主要用在一些嵌入式设备中. KLone特点: Multiplatform HTTP and HTTP/S KLone allows the creation of HTTP and HTTP/s servers which run on a wide range of platforms, even with

0MQ 3.0.0发布 轻量级消息内核

0MQ 3.0.0该版本已经取得了更多的POSIX-like API.订阅转发:而不是对用户进行过滤,删除订阅尽可能针对发行方和过滤方进行.sockopts ZMQ_RC++VTIMEO/ ZMQ_SNDTIMEO允许您设置阻止发送/接收超时的调用. 更多详细的更新说明请参阅:https://raw.github.com/zeromq/zeromq3-0/master/NEWS 0MQ (ZeroMQ) 是一个轻量级消息内核.它实现了30微秒的端到端延迟和每秒超过300万的信息.它可用于C.C+

GNU libmicrohttpd v0.9.0发布 嵌入式HTTP服务器C类库

GNU libmicrohttpd 是一个小型的嵌入式 HTTP 服务器 的 C++ 类库,支持 HTTP 1.1 可以同时侦听多个端口 Changes: 1. fixes a double-lock on non-Linux platforms when using "MHD_create_response_from_fd". 2. Additional response creation calls were added in this release, enabling the