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.
Bindings
To define a relationship between queues and exchanges, the AMQ model defines a binding.
RabbitMQ applies a remote procedure call pattern, wherein both client and server issues commands between them.