When you should use Messaging, and when you shouldn’t

Advanced Message Queuing Protocol (AMQP) is a tool that has been used to enable many distributed, loosely-connected applications. Like any tool, effective use of Messaging platforms depends on how they are used. Are there problems that naturally lend themselves to a Messaging architecture? Perhaps more importantly, are there problems that discourage Messaging? First, however: why is Messaging a valuable pattern for any software system? A good analogy to make to a Messaging platform is a piece of audio equipment called a patch bay. By itself, a patch bay is not useful. Its utility lies in connecting other pieces of audio equipment to each other. A patch bay enables a guitarist to hear the bass guitar, but not the horns. It enables the singer to inform all the musicians to take it to the bridge. A patch bay enables mixing all musicians together and amplifying them so that each part can be […]