Protocol Extensions

The RabbitMQ Server implements a number of extensions of the AMQP specification, which we document here.


  • Confirms (aka Publisher Acknowledgements) are a lightweight way to know when RabbitMQ has taken responsibility for messages.
  • Blocked Connection Notifications allows clients to be notified when a connection is blocked and unblocked.


Message Routing

Message Lifecycle

  • Per-Queue Message TTL determines how long an unconsumed message can live in a queue before it is automatically deleted.
  • Per-Message TTL determines the TTL on a per-message basis.
  • Queue TTL determines how long an unused queue can live before it is automatically deleted.
  • Dead Letter Exchanges ensure messages get re-routed when they are rejected or expire.
  • Length Limit allows the maximum length of a queue to be set.

Authentication and Identity

AMQP 0-9-1 Spec Differences

  • Some features that were in AMQP 0-8 were deprecated in AMQP 0-9-1. We have undeprecated some of them and introduced a couple of tiny behaviour changes that improve usability of the product. Please refer to the spec differences page.