RabbitMQ
Key Concepts There are three components defined by the AMQ model.
Exchanges For routing messages to their proper destination is an [Exchange|Exchange]. An exchange receives messages sent into RabbitMQ and determines where to send them. Exchanges define routing behaviours that are applied to message. There are multiple exchange types, more on this later.
Queues A queue is responsbile for storing received messages and may contain configuration information that defines what it is able to do with a message, and these messages are delivereed in a first-in-first-out order.