What are the advantages of messaging queues to decouple components?
Messaging queues is a very good approach to build a decoupled system. In a messaging queue there is asynchronous communication. The components are connected by using a queue or a buffer. It provides following advantages:
Concurrency: More than one component can concurrently access the messaging queue.
High Availability: Since messages are persisted in the queue, a component can re-read a message even in case of failure. This leads to higher availability of the whole system.
Load Spikes: In case of sudden increase in load, a messaging queue can gracefully handle the scenario. It will collect all the messages and process these asynchronously.