Our commitment to OpenTelemetry

The OpenTelemetry project is an Observability framework and toolkit designed to create and manage telemetry data such as traces, metrics, and logs. It is gaining widespread adoption due to its consistent specification between signals and promise to reduce vendor lock-in which is something that we’re excited about. Looking back at…

Continue ReadingOur commitment to OpenTelemetry

Improving RabbitMQ Performance with Flame Graphs

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…

Continue ReadingImproving RabbitMQ Performance with Flame Graphs

RabbitMQ 3.11 Feature Preview: Single Active Consumer for Streams

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…

Continue ReadingRabbitMQ 3.11 Feature Preview: Single Active Consumer for Streams

Required feature flags in RabbitMQ 3.11.0

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…

Continue ReadingRequired feature flags in RabbitMQ 3.11.0

OIDC Integration

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…

Continue ReadingOIDC Integration

High Initial Memory Consumption of RabbitMQ Nodes on Centos Stream 9

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. Some…

Continue ReadingHigh Initial Memory Consumption of RabbitMQ Nodes on Centos Stream 9

Migrating from Mirrored Classic Queues to Quorum Queues

Quorum Queues are a superior replacement for Classic Mirrored Queues that were introduced in RabbitMQ version 3.8. And there are two complementary reasons why you would need to migrate. First of all, Classic Mirrored Queues were deprecated in 3.9, with a formal announcement posted on August 21, 2021. They will…

Continue ReadingMigrating from Mirrored Classic Queues to Quorum Queues