RabbitMQ is an open source message broker written in Java that acts as a broker of messages sitting between applications, allowing them to communicate asynchronously and reliably. It supports point-to-point and publish/subscribe messaging patterns. RabbitMQ is lightweight, supports multiple connectivity options and platforms, can be clustered for high availability, and includes features for administration, authentication, authorization, and integration.