About
Messaging systems implements near-realtime asynchronous computation. A messaging system is a fairly low-level piece of infrastructure—it stores messages and waits for consumers to consume them as stream source.
Messages can be added to:
- a message queue (ActiveMQ, RabbitMQ),
- or log aggregation system (Flume, Scribe)
when something happens.
Downstream consumers read messages from these systems, and process them or take actions based on the message contents.
Articles Related
Example
Suppose you have a website, and every time someone loads a page, you send a “user viewed page” event to a messaging system. You might then have consumers which do any of the following:
- Store the message in Hadoop for future analysis
- Count page views and update a dashboard
- Trigger an alert if a page view fails
- Send an email notification to another user
- Join the page view event with the user’s profile, and send the message back to the messaging system
A messaging system lets you decouple all of this work from the actual web page serving.
Same as Event-Data Application.