RabbitMQ 3.5.1 發布,AMQP 消息服務器

n6xb 9年前發布 | 10K 次閱讀 RabbitMQ

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 發布,AMQP 消息服務器

RabbitMQ 3.5.1 發布,此版本是個 bug 修復版本,主要改進如下:

服務器

功能增強

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 in rabbitmq-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

此版本現已提供下載:


 本文由用戶 n6xb 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!