Message queues provide an asynchronous communications protocol, meaning that the sender and the receiver of the message do not need to interact with the message queue at the same time. Messages placed onto the queue are stored until the recipient retrieves them. A message does not have information about previous and next messages.
Therefore, a message queues should be used if:
- A process can be executed asynchronously.
- A process does not affect User Experience.
- Processes need to be executed in parallel for faster performance.
- You need a guarantee of processing.
- You need scalability.
For more information, see the following external resources:
- What is Message Queue
- Message Queue Benefits (most of them are applicable for Oro Message Queue Component)
- Rabbit MQ Introduction