Protocol Extensions
Overview
The RabbitMQ implements a number of extensions of the
AMQP 0-9-1 specification, which we
document here.
Some extensions introduce new protocol methods (operations); others rely on existing
extension points such as optional queue arguments.
Publishing
Consuming
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.
- Queue Length Limit allows the maximum length of a queue to be set.
- Priority Queues support the message priority field (in a slightly different way).
Authentication and Identity
- The User-ID message property is validated by the server.
- Clients that advertise the appropriate capability may receive
explicit authentication failure notifications from the broker.
- update-secret
to be able to renew credentials for an active connection, when those credentials can expire.
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.
There's also an AMQP 0-9-1 Errata page which explains how various
Getting Help and Providing Feedback
If you have questions about the contents of this guide or
any other topic related to RabbitMQ, don't hesitate to ask them
on the RabbitMQ mailing list.
Help Us Improve the Docs <3
If you'd like to contribute an improvement to the site,
its source is available on GitHub.
Simply fork the repository and submit a pull request. Thank you!