Posts tagged 'v3.9.x'

Interoperability in RabbitMQ Streams

October 7, 2021 by Arnaud Cogoluègnes

RabbitMQ streams allow applications to convey detailled information thanks to the powerful message format they use. Streams are a feature of their own, but they also fully integrate with the existing resources and protocols that RabbitMQ supports. This blog post covers the interoperability of streams in RabbitMQ and explores the scenarios it unlocks.


Offset Tracking with RabbitMQ Streams

September 13, 2021 by Arnaud Cogoluègnes

RabbitMQ Streams provides server-side offset tracking for consumers. This features allows a consuming application to restart consuming where it left off in a previous run. This post covers the semantics of offset tracking and how it is implemented in the stream Java client.


Message Deduplication with RabbitMQ Streams

July 28, 2021 by Arnaud Cogoluègnes

RabbitMQ Streams Overview introduced streams, a new feature in RabbitMQ 3.9 and RabbitMQ Streams First Application provided an overview of the programming model with the stream Java client. This post covers how to deduplicate published messages in RabbitMQ Streams.

As deduplication is a critical and intricate concept, the post will walk you through this mechanism step by step, from a naive and somewhat broken publishing application to an optimized and reliable implementation.


Connecting to Streams

July 23, 2021 by Arnaud Cogoluègnes

RabbitMQ Streams Overview introduced streams, a new feature in RabbitMQ 3.9. This post covers how client applications should connect to RabbitMQ nodes to get the most benefit from streams when the stream protocol is in use.

Streams are optimized for high throughput scenarios, that’s why technical details like data locality are critical to get the best out of your RabbitMQ cluster. Client libraries can handle most of the details, but a basic understanding of how things work under the hood is essential when a setup involves extra layers like containers and load balancers. Keep reading if you want to learn more about streams and avoid some headaches when deploying your first stream applications!


First Application With RabbitMQ Streams

July 19, 2021 by Arnaud Cogoluègnes

RabbitMQ Streams Overview introduced streams, a new feature in RabbitMQ 3.9. This post continues by showing how to use streams with the Java client. We will write our first application that publishes messages to a stream, and then consumes them.


RabbitMQ Streams Overview

July 13, 2021 by Arnaud Cogoluègnes

RabbitMQ 3.9 introduces a new type of data structure: streams. Streams unlock a set of use cases that could have been tedious to implement with “traditional” queues. Let’s discover in this post how streams expand the capabilities of RabbitMQ.


RabbitMQ 3.9.0 release calendar

July 9, 2021 by Jean-Sébastien Pédron & Gerhard Lazu

We intend to release RabbitMQ 3.9.0 on 26 July 2021. While we have been testing it internally for months, with production-like workloads, we need your help to check that it is as stable and reliable as we believe it is.


Erlang 24 Support Roadmap

March 23, 2021 by Michael Klishin


  • Erlang 24 will ship in May and it offers significant performance gains to RabbitMQ users
  • Supporting Erlang 24 and 22 at the same time is not feasible, so in early May 2021, Erlang 22 support will be dropped
  • If you run on Erlang 22, upgrade to 23.2 today: it should be a drop-in replacement
  • Users of the RabbitMQ Kubernetes Operator, the Docker community image and modern releases of VMware Tanzu RabbitMQ for VMs are not affected as those projects all use Erlang 23 today