Menu

Archive for year 2022

High Initial Memory Consumption of RabbitMQ Nodes on Centos Stream 9

August 30, 2022 by Michael Klishin

Team RabbitMQ and community members have recently identified a curious scenario where a freshly started node could consume a surprisingly high amount of memory, say, 1.5 GiB or so. We’d like to share our findings with the community and explain what short term and longer term workarounds are available.

Read More...

RabbitMQ 3.11.0 release calendar

August 1, 2022 by Mirah Gary

We intend to release RabbitMQ 3.11.0 on 5 September 2022. While we have been testing it internally for some time, with production-like workloads, we need your help to check that it is as stable and reliable as we believe it is.

Read More...

OIDC Integration

July 22, 2022 by Marcial Rosales
Today when we use the rabbitmq-management with the rabbitmq_auth_backend_oauth2 plugin, the only supported Authorization server is UAA, making it difficult to connect to other OAuth 2.0 servers. Additionally, rabbitmq-management plugin uses the OAuth 2.0 implicit flow which is no longer recommended for security reasons. RabbitMQ 3.11 will support practically any Authorization server compliant with OpenID Connect and OAuth 2.0 protocols. Furthermore, OAuth 2.0 authorization code grant becomes the default grant and implicit grant is no longer supported.
Read More...

Required feature flags in RabbitMQ 3.11.0

July 20, 2022 by Jean-Sébastien Pédron
RabbitMQ 3.11.0 will make all feature flags introduced during the life of RabbitMQ 3.8.x required. People who initially created clusters using RabbitMQ 3.8.9 or older should enable all feature flags before upgrading to RabbitMQ 3.11! If the feature flags are not enabled, RabbitMQ 3.11.0+ will refuse to start. Feature flags are a mechanism to make breaking changes to RabbitMQ while still maintaining the compatibility between several versions of RabbitMQ. They usually come with code to migrate data structures in the internal schema database or on disk for instance.
Read More...

RabbitMQ 3.11 Feature Preview: Super Streams

July 13, 2022 by Arnaud Cogoluègnes

RabbitMQ 3.11 will bring a feature with one of the coolest names in its history: super streams. Super streams are a way to scale out by partitioning a large stream into smaller streams. They integrate with single active consumer to preserve message order within a partition.

This blog post gives an overview of super streams and the use cases they unlock. Read on to learn more, we value your feedback to make this feature the best it can be.

Read More...

RabbitMQ 3.11 Feature Preview: Single Active Consumer for Streams

July 5, 2022 by Arnaud Cogoluègnes

RabbitMQ 3.11 will bring a noteworthy feature to streams: single active consumer. Single active consumer provides exclusive consumption and consumption continuity on a stream. It is also critical to get the most out of super streams, our solution for partitioning, that provide scalability for streams.

Read on to find out more about single active consumer for streams and don’t hesitate to experiment with what is already available: try it, break it, tell us what you like and don’t like, what’s missing. Your feedback is essential to make this feature the best it can be.

Read More...

Improving RabbitMQ Performance with Flame Graphs

May 31, 2022 by David Ansari

Recent Erlang/OTP versions ship with Linux perf support. This blog post provides step by step instructions on how you can create CPU and memory flame graphs in RabbitMQ to quickly and accurately detect performance bottlenecks. We also provide examples of how flame graphs have helped us to increase message throughput in RabbitMQ.

Read More...

RabbitMQ 3.10 Performance Improvements

May 16, 2022 by Michał Kuratczyk

RabbitMQ 3.10 was released on the 3rd of May 2022, with many new features and improvements. This blog post gives an overview of the performance improvements in that release. Long story short, you can expect higher throughput, lower latency and faster node startups, especially with large definitions files imported on startup.

Read More...

Rabbitmq 3.10 Release Overview

May 5, 2022 by Arnaud Cogoluègnes & Michael Klishin

RabbitMQ 3.10 has recently been released and has some major new features which focus on optimizations, performance, and stability.

Release notes page includes information about the specific changes in this version as well as various installation assets. See our upgrade guide for more information about upgrading to 3.10.0.

Let’s have a tour!

Read More...

CentOS 7 Support is Discontinued from May, 2022

April 26, 2022 by Michael Klishin

RabbitMQ RPM packages for CentOS 7 will be discontinued from May 2022 because that CentOS release series provides outdated versions of OpenSSL and Linux kernel.

CentOS 7 users are recommended to migrate to a new cluster which uses a more recent distribution via one of the options:

Read More...

At-Least-Once Dead Lettering

March 29, 2022 by David Ansari & Karl Nilsson

Quorum queues in RabbitMQ 3.10 provide a safer form of dead lettering that uses at-least-once guarantees for the message transfer between queues. This blog post explains everything you need to know to start using at-least-once dead lettering.

This post also introduces two other RabbitMQ 3.10 features: message Time-To-Live (TTL) for quorum queues and Prometheus metrics for dead lettered messages.

Read More...

RabbitMQ 3.10.0 release calendar

March 24, 2022 by Mirah Gary & Ed Byford

We intend to release RabbitMQ 3.10.0 on 11 April 2022. While we have been testing it internally for some time, with production-like workloads, we need your help to check that it is as stable and reliable as we believe it is.

Read More...

Using OPA/Gatekeeper with RabbitMQ Messaging Topology Resources

February 21, 2022 by Mirah Gary

Many organizations have policies around RabbitMQ usage wich they would like to enforce. This blog post explains via example how the Open Policy Agent Gatekeeper project can be used in combination with the RabbitMQ Messaging Topology Operator to manage RabbitMQ resources on Kubernetes and enforce policies on those resources by extending the Kubernetes API.

Read More...