All explanations are still accurate and accurate - but there may be something missing: one of the main advantages of the message queue: stability.
Imagine: you need to communicate with two or three other systems. These days, a common approach is web services, which are great if you need answers right away.
However: web services may or may not be available - what are you doing? Putting your message in a message queue (with a component on your computer / server, too) will usually work in this scenario - your message simply will not be delivered and, thus, processed right now, but later it will be when the other side of the service returns in online mode.
Therefore, in many cases, using message queues to connect disparate systems is a more reliable and more reliable way to send messages back and forth. This does not work well for everyone (if you want to know the current stock price for MSFT, including this request in the queue may not be the best idea), but in many cases, for example, entering an order in the message from the queue provider, it works very well and can Help fix some reliability issues with other technologies.
marc_s May 19 '10 at 21:09 2010-05-19 21:09
source share