RabbitMQ 3.5.1 发布,AMQP 消息服务器
RabbitMQ 是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成,因此也是继承了这些优点。
AMQP 里主要要说两个组件:Exchange 和 Queue (在 AMQP 1.0 里还会有变动),如下图所示,绿色的 X 就是 Exchange ,红色的是 Queue ,这两者都在 Server 端,又称作 Broker ,这部分是 RabbitMQ 实现的,而蓝色的则是客户端,通常有 Producer 和 Consumer 两种类型:
RabbitMQ 3.5.1 发布,此版本是个 bug 修复版本,主要改进如下:
服务器
功能增强
-
Introduce a new
channel
log category for channel log messages (rabbitmq/rabbitmq-server#74).
Bug 修复
-
Ensure
consumer_closed
events are emitted for the actually closed channels only, not all of them (since 3.3.0, rabbitmq/rabbitmq-server#86). The events were filtered later in the management plugin so the behaviour was correct. However, the broker did way too much work. -
Ensure the number of
x-death
message headers doesn't grow indefinitely (rabbitmq/rabbitmq-server#78). Now, there is a single entry for each{queue, reason}
pair. -
Adjust the file read buffer cache size to avoid useless reads (since 3.5.0, rabbitmq/rabbitmq-server#69). Before this fix, reading a file backward would cause the buffer to be filled and thrown away quickly, leading to a large I/O bandwidth consumption.
-
Ensure the priority queue plugin reports its memory consumption properly (since 3.5.0, rabbitmq/rabbitmq-server#67). Before this fix, the queue might not be paged out under memory pressure.
-
Prevent a crash while synchronising paged out priority queues (since 3.5.0, rabbitmq/rabbitmq-server#65). This was caused by priority queues accessing message properties without checking their existence.
-
Pass the PID file to
rabbitmqctl stop
inrabbitmq-server.ocf
, exactly like Debian- and Red Hat-flavour init scripts (since 2.6.0, rabbitmq/rabbitmq-server#72).
更多改进请看这里:https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_5_1。
此版本现已提供下载: