RabbitMQ is an open-source message broker software written in Erlang. It uses exchanges to route messages from producers to queues based on routing keys or bindings. There are four main exchange types - direct, fanout, topic, and headers. Mule connects to RabbitMQ using the AMQP connector. It can send and receive messages to/from RabbitMQ queues using different exchange types like direct exchanges as demonstrated in the example config with two flows, one to send and one to receive a message.