Our example application is quite robust and can handle quite a bit of load and traffic with few to no changes. As easy as this pattern is to understand, implement, and run, it's not a silver bullet. You will likely require different implementations of this Messaging Pattern in your scenarios. We'll review a few alternative applications of the same pattern, which uses a queue as a message broker between disparate systems.
Earlier, during the explanation of our system architecture, I briefly discussed the possibility of fanning out messages from the stream listener to multiple queues. A design such as this would be useful when there are different types of workload to be performed from a single data producer. The following example architecture shows a system made up of an individual Twitter stream data producer that fans out messages to multiple queues based on the payload:
For this example, assume we're interested in...