Concept MapReduce Message Queue
Purpose Distributed batch processing of large data sets Asynchronous decoupling of producers and consumers
Processing Type Batch processing Stream or Batch processing
Trigger Usually run on a schedule or trigger Triggered in real-time as messages arrive
Data Flow Input → Map → Shuffle → Reduce → Output Producer → Queue → Consumer(s)
Example Use Counting word frequency in huge files Sending email on user signup or processing payment events

Processing Type

Batch Processing

Data is accumulated over a specified period and is processed in groups, or batches. It could avoid server overload.

Stream Processing

Data is processed in real-time as it is received, instead of being stored. It could have better latency.

Message Queues

Common Frameworks

Source: AlgoMaster https://blog.algomaster.io/p/message-queues

Source: AlgoMaster https://blog.algomaster.io/p/message-queues

The consumer needs to send an acknowledgement (Ack) to Message Queue after successfully processing a message or Message Queue could keep resenting the message.

The picture shows the Pub-Sub Queue, it allows multiple consumers subscribe the same topic, unlike Point-to-Point Queue (one producer to one consumer).

Processing Types