Kafka vs ActiveMQ vs RabbitMQ vs Amazon SNS vs Amazon SQS vs Google pub/sub

Tech Wrench
Published in
11 min readJan 26, 2021

Message Queues

Don’t forget to get your copy of Designing Data Intensive Applications, the single most important book to read for system design interview prep! Udacity | Coursera | Pluralsight.

Check out ByteByteGo’s popular System Design Interview Course

Consider signing-up for paid Medium account to access our curated content for system design resources.

Message queues are the backbone of any distributed system. In advanced systems, a single application cannot be responsible for the entire operation. Rather, multiple applications are interrelated to perform their own sets of tasks and achieve the goal of the system, as a whole. The individual applications rely on data transfer to communicate with other applications — and that’s where the need for message queues arises.

If you are interviewing, consider buying our number#1 course for Java Multithreading Interviews.

Grokking Modern System Design for Software Engineers and Managers

Get a leg up on your competition with the Grokking Modern System Design for Software Engineers and Managers and land a Big Tech job!

So what is a message queue software, what are the options available and which is the best one? There are quite a few things you should know before picking between Kafka, Active MQ, Amazon SNS and other messaging software.

Get a leg up on your competition with the Grokking the Advanced System Design Interview course and land that dream job! Don’t waste life on Leetcode. Learn patterns with the course Grokking the Coding Interview: Patterns for Coding Questions. Or, if you prefer video-based courses check out Udacity.

What Is A Message Queue Software?

A message queue software makes it possible for machines to interact remotely via asynchronous communication. These communication systems handle the transfer of messages between machines in a sequential manner. A message queue is maintained by each application, consisting of a set of replies, requests or alerts depending on the need of the sending application.

Tech Wrench

The ultimate Poor man’s system design interview prep guide -- https://systemdesign.medium.com/membership