We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

This lesson's interactive features are locked, please to keep using them

Alternative Brokers

We're using RabbitMQ in this course because:

  • It's popular in the industry
  • It's open-source
  • It can be run locally without much hassle
  • I've used it for years and it's the one I'm most qualified to teach

That said, there are some others. Here's a short list:

RabbitMQ

RabbitMQ is a popular open-source message broker written in Erlang that implements the AMQP protocol. It's flexible, powerful, and has a great built-in management UI. If you have complex routing, filtering, and delivery requirements then it can be a great choice.

Apache Kafka

Kafka is written in Java, but despite that, is an amazing piece of software. Kafka is optimized for high-throughput, low-latency, and fault-tolerant systems. To be honest, it's more of a distributed streaming platform than a message broker. It can be easier to scale up, although it doesn't have all the features of RabbitMQ. Apache also makes ActiveMQ which is another popular message broker and more similar to RabbitMQ.

Amazon SQS

Amazon SQS (Simple Queue Service) is a fully managed message queuing service on Amazon Web Services. It's not open-source, and you can't run it locally. However, it's much less work to set up and maintain in production because it's managed by AWS. RabbitMQ offers more routing features and flexibility, in fact, SQS probably has the fewest routing features, being more like a Point-to-Point solution, but it's a great choice if you need a simple, easy-to-use, scalable message queue on AWS.

Google Cloud Pub/Sub

Google Cloud Pub/Sub is also a fully managed service. It's not open-source, but it's easy to use on Google Cloud Platform and scales well. It's a great choice if you're already using Google Cloud and want a fully managed message broker. Its usage patterns feel more similar to Kafka than RabbitMQ or SQS in my experience.

NATS

NATS is a high-performance, open-source messaging broker written in Go. It's known for being a "cloud-native" messaging system due to being lightweight, statically compiled, and easy to deploy. You can read more here if you're interested.