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 兩種類型:
服務器
功能增強
-
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。
此版本現已提供下載: