RabbitMQ, Kafka, and Redis: Which Broker to choose for a MicroService?

women and man sitting in-front of monitor to make decission
Photo by Lagos Techie on Unsplash
  1. Broker Scale — the number of messages sent per second within the system.
  2. Consumer efficiency — whether the broker is efficient in managing one-to-one and/or one to many consumers.
  3. Data Persistency — the power to recover messages.

Support:

RabbitMQ:

  • RabbitMQ has some SaaS-managed services, but it’s not part of the native major cloud provider stack.
  • It supports all major languages, including Python, Java, .NET, PHP, Ruby, JavaScript, Go, Swift, and more.
  • Performance lag is expected when in persistent mode.

Kafka:

  • Kafka has managed SaaS on top native cloud vendors like Azure, AWS, and Confluent.
  • Kafka supports all major languages, like .NET, C/C++, Python, Java, PHP, Ruby, JavaScript, Go, Swift, Clojure, and more.

Redis:

  • It is a bit different from the other message brokers, from the way it is stored and processed.
  • At its core, it is an in-memory data store that can be used as a highly performing app, but for transient uses, it can be used as a message broker.
  • Redis dumps its memory into a Disk/DB but well perfect for real-time data processing.

Use case:

  • For short-lived messages, prefer Redis.
  • While if your application has large amounts of data, then Kafka would be a better option.
  • If the data is complex enough, then RabbitMQ will do its job.

Let’s Talk!

--

--

--

Your Digital Transformation partner. We are here to share knowledge on varied technologies, updates; and to stay in touch with the tech-space.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

A very quick introduction to the pain of AWS CloudFormation

Event Modeling: Bridging the IT/Business Communication Gap

Everything you need to know about Algorithms before you jump into it-PART1

Day 4 of 31-Day May LeetCode Challenge

My take on Kotlin/Native — Multi-platform

My GNU backpack

Tomcat Server — Invalid Character in Request

What do we know about GeForce RTX 30 series?

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Payoda Technology Inc

Payoda Technology Inc

Your Digital Transformation partner. We are here to share knowledge on varied technologies, updates; and to stay in touch with the tech-space.

More from Medium

How to implement security for microservices

Authentication and Authorization Protocols

Microservices: The Introduction

Asynchronous Communication- Client-Server over REST APIs & WebSockets