Messaging with RabbitMQ over AMQP 0-9-1 describes the AMQP model for message brokering which includes messages being published to exchanges that then distribute messages to queues based on bindings. The key entities in the AMQP model are exchanges, queues, bindings, and routing keys. RabbitMQ implements the AMQP 0-9-1 standard and supports four main types of exchanges: direct, topic, fanout, and headers exchanges which determine how messages are routed from exchanges to queues.