RabbitMQ
Features
Get Started
Support
Community
Docs
Blog
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
Publisher 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.
Consuming
Consumer Cancellation Notifications let a consumer know if it has been cancelled by the server.
basic.nack extends basic.reject to support rejecting multiple messages at once.
Consumer Priorities allow you to send messages to higher priority consumers first.
Direct reply-to allows RPC clients to receive replies to their queries without needing to declare a temporary queue.
Message Routing
Exchange to Exchange Bindings allow messages to pass through multiple exchanges for more flexible routing.
Alternate Exchanges route messages that were otherwise unroutable.
Sender-selected Distribution allows a publisher to decide where messages are routed directly.
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 ❤️
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!
In This Section
Server Documentation
Client Documentation
Plugins
News
Protocol
Our Extensions
Confirms
Consumer Cancel
Consumer Prefetch
Consumer Priorities
Direct reply-to
Blocked Connections
basic.nack
e2e bindings
Alternate Exchanges
Sender Routing
TTL
Dead Lettering
Length Limit
Priority Queues
Validated User ID
Auth Failure
Spec Differences
Building
Previous Releases
License
RabbitMQ
Features
Get Started
Support
Community
Docs
Blog
Copyright © 2007-2020 VMware, Inc. or its affiliates. All rights reserved. Terms of Use, Privacy and Trademark Guidelines