RabbitMQ 4.0

New features in RabbitMQ 4.0

  • Native AMQP 1.0 support (no longer a plugin), seen as enabling easier replacement for services like Azure Service Bus behind abstractions.
  • New quorum queue capabilities and a new metadata store (Khepri) replacing Mnesia for configuration/state (vhosts, users, queue definitions, etc.), expected to improve scalability and netsplit handling.
  • Stream queues give Kafka‑like behavior: high throughput, retention, replay, and Kafka-style topic semantics in RabbitMQ.
  • Native MQTT and WebSocket MQTT support emphasized, including for large numbers of connected devices.

Scalability and operational behavior

  • Many argue RabbitMQ “scales fine” for most real‑world use, with examples of tens of thousands of messages per second and very large user bases.
  • Others report footguns: clusters slowing down when adding nodes (due to replication of durable messages), and performance degradation when queues grow unbounded.
  • Quorum queues are cited as addressing some older clustering trade‑offs; message replication can be bounded.
  • Mnesia-related slowdowns under load are reported historically; Khepri is expected to improve metadata handling but not directly message throughput.

RabbitMQ vs NATS and other brokers

  • NATS is frequently praised as simpler, lighter, and easier to deploy, especially for ephemeral pub/sub and RPC; RabbitMQ is seen as heavier but stronger at complex routing and “postal system” style queuing.
  • JetStream (NATS) offers persistence, streams, KV, and blob store, competing with RabbitMQ streams/federation, but some argue RabbitMQ still has richer advanced routing and MQ‑to‑MQ federation.
  • NSQ and Beanstalkd are mentioned as simpler alternatives; Beanstalkd is seen as extremely minimal but with reported stability issues in some deployments.

RabbitMQ vs Redis / DB / managed queues

  • Compared with Redis-backed queues and DB tables used as queues, RabbitMQ is seen as more featureful and better for high throughput, complex routing, and multi-language ecosystems.
  • Some teams moved from Redis queues to RabbitMQ for throughput, priorities, and routing.
  • For small workloads (e.g., ~20 events/s on SNS/SQS), many see no reason to switch; debate centers on cost (managed queues vs running your own broker) versus engineering time and operational burden.

Developer experience, learning curve, and ecosystem

  • RabbitMQ is described as powerful but easy to “hold wrong,” with many docs to absorb and multiple footguns; Kubernetes deployments are possible but finicky.
  • Some find it more trouble than it’s worth; others describe it as a “secret weapon” if properly understood.
  • Confusion persists about what RabbitMQ is from its website copy; several note that terms like “messaging and streaming broker” are not self‑explanatory to newcomers.
  • Celery uses RabbitMQ by default; there were recent limitations with quorum queues that have been patched.

Support, stability, and versioning concerns

  • Concerns are raised about RabbitMQ’s future under VMware/Broadcom, including hints that “free support” may be reduced, but details are unclear.
  • One commenter reports a negative experience with semantic versioning in RabbitMQ client libraries (breaking changes without major version bumps) and contentious maintainer responses.
  • Interest is expressed in whether RabbitMQ 4.0 passes Jepsen-style consistency tests, but no answer is provided in the thread (status unclear).