Menu

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.

Read More...

RabbitMQ Deprecation Announcements for 4.0

August 21, 2021 by Ed Byford

In RabbitMQ 4.0, we intend to remove some RabbitMQ features to:

  • Increase the resiliency of the core broker
  • Decrease the number of suboptimal configurations available
  • Remove technical surface area (maintaining old code) from the team
  • Reduce the support burden

We continually innovate to meet and exceed our users’ expectations. Removal of older functionality that no longer meets these expectations, or serves our users, means we can focus on our mission to provide a stable, performant, and flexible messaging system.

Read More...

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.

Read More...

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!

Read More...

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.

Read More...

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.

Read More...

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.

Read More...

Notify me when RabbitMQ has a problem

May 3, 2021 by David Ansari & Gerhard Lazu
If you want to be notified when your RabbitMQ deployments have a problem, now you can set up the RabbitMQ monitoring and alerting that we have made available in the RabbitMQ Cluster Operator repository. Rather than asking you to follow a series of steps for setting up RabbitMQ monitoring & alerting, we have combined this in a single command. While this is a Kubernetes-specific quick-start, and you can use these Prometheus alerts outside of Kubernetes, the setup will require more consideration and effort on your part.
Read More...

Preparing for the Bintray Shutdown: How to Migrate

March 31, 2021 by Michael Klishin
Bintray, one of the services our team currently uses to distribute packages, is shutting down on May 1st, 2021. This post explains what alternative services are available for the RabbitMQ community today or will be before the shutdown date. No new releases will be published to Bintray going forward. Those who do not switch from Bintray before May 1st will see their deployments begin failing. We highly recommend making migration off of Bintray both an important and urgent task.
Read More...

Erlang 24 Support Roadmap

March 23, 2021 by Michael Klishin

TL;DR

  • 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
Read More...