We're using RabbitMQ in this course because:
That said, there are some others. Here's a short list:

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.

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 (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 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.