...

Rabbit что за программа

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

  1. 24 Aug 2023 RabbitMQ 3.12.4 release
  2. 24 Aug 2023 RabbitMQ 3.11.22 release
  3. 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/