Documentation: Table of Contents
This page summarises the available RabbitMQ documentation for the latest patch release.
Installation
See the Downloads and Installation page for information on the most recent release and how to install it.
Tutorials
See the Get Started page for our tutorials for various programming languages.
The tutorials offer a gentle introduction to messaging, one of the protocols RabbitMQ supports, key messaging features, and some common usage scenarios.
AMQP 0-9-1 Overview provides a brief overview for the original RabbitMQ protocol.
Server and Key Plugins
RabbitMQ server documentation is organised in a number of guides:
Installation and Provisioning:
- Packages and repositories
- Kubernetes Operator
- Provisioning Tools (Docker image, Chef cookbook, Puppet module, etc)
- Package Signatures
- Supported Erlang/OTP Versions
- Supported RabbitMQ Versions
- Changelog
- Snapshot (Nightly) Builds
Operating Systems and Platforms
- Kubernetes
- Debian and Ubuntu
- Red Hat Enterprise Linux, CentOS, Fedora
- Windows Installer, Windows-specific Issues
- Generic UNIX Binary Build
- MacOS via Standalone Binary Build
- MacOS via Homebrew
- Amazon EC2
- Solaris
Upgrading
- Main Upgrading guide
- Schema Definitions
- Blue-green deployment-based upgrade
CLI tools
- RabbitMQ CLI Tools: general installation and usage topics
- rabbitmqctl: primary RabbitMQ CLI tool
- rabbitmq-diagnostics: monitoring, health checking, observability tooling
- rabbitmq-plugins: plugin management
- rabbitmq-queues: operations on quorum queues
- rabbitmq-streams: operations on streams
- rabbitmq-upgrade: operations related to upgrades
- rabbitmqadmin (HTTP API-based zero dependency management tool)
- man pages
Configuration
- Configuration
- File and Directory Locations
- Logging
- Policies and Runtime Parameters
- Schema Definitions
- Per Virtual Host Limits
- Client Connection Heartbeats
- Inter-node Connection Heartbeats
- Runtime Tuning
- Queue and Message TTL
Authentication and authorisation:
- Access Control: main authentication and authorisation guide
- AMQP 0-9-1 Authentication Mechanisms
- Virtual Hosts
- Credentials and Passwords
- x509 (TLS) Certificate-based client authentication
- OAuth 2 Support
- OAuth 2 Examples for common identity providers
- LDAP
- Validated User ID
- Authentication Failure Notifications
Networking and TLS
- Client Connections
- Networking
- Troubleshooting Network Connectivity
- Using TLS for Client Connections
- Using TLS for Inter-node Traffic
- Troubleshooting TLS
Monitoring, Audit, Application Troubleshooting:
- Management UI and HTTP API
- Monitoring, metrics and health checks
- Troubleshooting guidance
- rabbitmqadmin, an HTTP API command line tool
- Client Connections
- AMQP 0-9-1 Channels
- Internal Event Exchange
- Per Virtual Host Limits
- Per User Limits
- Message Tracing
- Capturing Traffic with Wireshark
Clustering
- Clustering
- Cluster Formation and Peer Discovery
- Intra-cluster Compression
Replicated Queue Types, Streams, High Availability
- Quorum Queues: a modern highly available replicated queue type
- Migrating Mirrored Classic Queues to Quorum Queues
- Streams: a messaging abstraction that allows for repeatable consumption
- RabbitMQ Stream plugin: the plugin and binary protocol behind RabbitMQ streams
Distributed RabbitMQ
- Replication and Distributed Feature Overview
- Reliability of distributed deployments, publishers and consumers
- Federation
- Shovel
Guidance
- Monitoring
- Production Checklist
- Backup and Restore
- Troubleshooting guidance
- Reliable Message Delivery
Message Store and Resource Management
- Memory Usage Analysis
- Memory Management
- Resource Alarms
- Free Disk Space Alarms
- Runtime Tuning
- Flow Control
- Message Store Configuration
- Queue and Message TTL
- Queue Length Limits
- Lazy Queues
Queue and Consumer Features
- Queues guide
- Consumers guide
- Queue and Message TTL
- Queue Length Limits
- Lazy Queues
- Dead Lettering
- Priority Queues
- Consumer Cancellation Notifications
- Consumer Prefetch
- Consumer Priorities
- Streams
Publisher Features
- Publishers guide
- Exchange-to-Exchange Bindings
- Alternate Exchanges
- Sender-Selected Distribution
STOMP, MQTT, WebSockets
- Client Connections
- STOMP
- MQTT
- STOMP over WebSockets
- MQTT over WebSockets
Man Pages
Client Libraries and Features
RabbitMQ clients documentation is organised in a number of guides and API references. A separate set of tutorials for many popular programming languages are also available, as is an AMQP 0-9-1 Overview.
Client Documentation Guides
- Java Client
- .NET Client
- Ruby Client
- JMS Client
- Erlang Client
- RabbitMQ extensions to AMQP 0-9-1
Client-Driven Features
- Client Connections
- Consumers
- Publishers
- Channels
- Publisher Confirms and Consumer Acknowledgements
- Queue and Message TTL
- Queue Length Limits
- Lazy Queues
- Exchange-to-Exchange Bindings
- Sender-Selected Distribution
- Priority Queues
- Consumer Cancellation Notifications
- Consumer Prefetch
- Consumer Priorities
- Dead Lettering
- Alternate Exchanges
- Message Tracing
- Capturing Traffic with Wireshark
References
- Java
- .NET
- AMQP 0-9-1 URI Specification
- URI Query Parameters
See Clients and Developer Tools for community client libraries.
Plugins
Popular tier 1 (built-in) plugins:
Development
- RabbitMQ GitHub repositories
- Contributor Code of Conduct
- How to build RabbitMQ from source, or
- from GitHub.
Protocols
- AMQP 0-9-1: Extensions | Quick Reference
- STOMP
- MQTT
- STOMP over WebSockets
- MQTT over WebSockets
- AMQP 0-9-1 implementation details.
- AMQP 0-9-1 Errata document.
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 using GitHub Discussions or our community Discord server.
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!
RabbitMQ is the most widely deployed open source message broker.
With tens of thousands of users, RabbitMQ is one of the most popular open source message brokers. From T-Mobile to Runtastic, RabbitMQ is used worldwide at small startups and large enterprises.
RabbitMQ is lightweight and easy to deploy on premises and in the cloud. It supports multiple messaging protocols and streaming. RabbitMQ can be deployed in distributed and federated configurations to meet high-scale, high-availability requirements.
RabbitMQ runs on many operating systems and cloud environments, and provides a wide range of developer tools for most popular languages.
See how other people are using RabbitMQ:
Updates
- 24 Aug 2023 RabbitMQ 3.12.4 release
- 24 Aug 2023 RabbitMQ 3.11.22 release
- 18 Aug 2023 RabbitMQ 3.12.3 release
Tweets
OSS RabbitMQ Features
Asynchronous Messaging
Developer Experience
Deploy with Kubernetes, BOSH, Chef, Docker and Puppet. Develop cross-language messaging with favorite programming languages such as: Java, .NET, PHP, Python, JavaScript, Ruby, Go, and many others.
Distributed Deployment
Deploy as clusters for high availability and throughput; federate across multiple availability zones and regions.
Enterprise & Cloud Ready
Pluggable authentication, authorisation, supports TLS and LDAP. Lightweight and easy to deploy in public and private clouds.
Tools & Plugins
Diverse array of tools and plugins supporting continuous integration, operational metrics, and integration to other enterprise systems. Flexible plug-in approach for extending RabbitMQ functionality.
Management & Monitoring
HTTP-API, command line tool, and UI for managing and monitoring RabbitMQ.
Commercial RabbitMQ Features
Intra-cluster Compression
All network traffic exchanged by nodes in a deployment is compressed by default. For JSON message payloads, bandwidth usage is reduced by 16x. Learn more
Warm Standby Replication
VMware RabbitMQ supports continuous schema definition and message replication to a remote cluster, which makes it easy to run a standby cluster for disaster recovery. Learn more
24/7 Expert Support
A license comes with phone and online global coverage support, gold star standards SLAs and extends the support lifecycle. Learn more
Get Started
Servers and clients for popular operating systems and languages
Hands-on examples to get you started with RabbitMQ
RabbitMQ Commercial Services
Commercial Distribution
VMware offers a range of commercial offerings for RabbitMQ. This includes a distribution called VMware RabbitMQ that deploys on Kubernetes or your container Runtime, as well as a version that deploys in VMware Tanzu Application Service. These distributions include all of the features of the open source version, with some additional management and business continuity features. Support agreements are part of the commercial licensing.
Support + Hosting
VMware provides support for open source RabbitMQ, available for a subscription fee. The following companies provide technical support and/or cloud hosting of open source RabbitMQ: CloudAMQP, Amazon MQ for RabbitMQ, Erlang Solutions, AceMQ, Visual Integrator, Inc, Google Cloud Platform and Northflank. RabbitMQ can also be deployed in AWS and Microsoft Azure.
Training
The following companies provide free, virtual, or instructor-led courses for RabbitMQ: VMware, Erlang Solutions, Visual Integrator, Inc and LearnQuest.
Community
Meet your fellow Rabbits to share stories, advice, and get help.
Issues & Bug Reports
Start by searching the Mailing List archive and known issues on GitHub. It’s very likely fellow users have raised the same issue.
Contributions
RabbitMQ welcomes contributions from the community. Please see our Contributors Page to learn more.
При подготовке материала использовались источники:
https://www.rabbitmq.com/documentation.html
https://www.rabbitmq.com/