0% found this document useful (0 votes)
199 views9 pages

Message Brokers: Use Cases & Options

The document discusses message brokers and provides examples of when they are useful. A message broker translates messages between protocols and acts as a centralized processor and store for large volumes of messages. It gives two use cases: integrating applications from an acquired startup by migrating events to a broker, and managing data from thousands of IoT devices by sending data to a broker. It then profiles three popular message brokers: Azure Event Hub, Apache Kafka, and RabbitMQ, providing brief overviews and architectural diagrams for each.

Uploaded by

Hamid Raza
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
199 views9 pages

Message Brokers: Use Cases & Options

The document discusses message brokers and provides examples of when they are useful. A message broker translates messages between protocols and acts as a centralized processor and store for large volumes of messages. It gives two use cases: integrating applications from an acquired startup by migrating events to a broker, and managing data from thousands of IoT devices by sending data to a broker. It then profiles three popular message brokers: Azure Event Hub, Apache Kafka, and RabbitMQ, providing brief overviews and architectural diagrams for each.

Uploaded by

Hamid Raza
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

What is a Message Broker?

In its core, a message broker is “a program that translates a


message to a formal messaging protocol of the sender, to the
formal messaging protocol of the receiver”
So when do I need a Message
Broker?
So of course as in any Computer Science topic, now the
question comes when you would use a Message Broker? Well
a Message Broker is really good in one thing — processing
messages.

This means that when you have a lot of messages (think


thousands, millions, billions of messages) that it could be
worth looking into a Message Broker to create a centralized
store/processor for these messages, so that other
applications or users can work with these messages — your
single source of truth.

Use Case #1
Just think about when an enterprise acquires a startup. How
would you integrate the applications that the startup wrote
into your own enterprise? You could start by migrating the
whole application towards your own database connections,
or start porting it to another language. But this is most often
a task of weeks / months. Rather than spending your time on
doing this, it could be more beneficial to integrate the startup
application in a centralized event store, so that you can adapt
your other programs to work with these events. Events are a
form of unified communication, so that you do not rely on the
programming / scripting language behind it.

Use Case #2
What about when your organization wants to work with the
new Internet of Things (IoT). Then you would have
thousands of devices, but how do you manage the data of all
those devices? Well this is where a Message Broker also
excels in. Just send all your data of these devices towards
your Message Broker, and it will take care of processing
them.

Which Message Brokers are out


there to process my events?
There are tons of message brokers out there (ActiveMQ,
Kafka, RabbitMQ, OMS, JMS, Redis, Service Bus, …)
however for me there are three popular ones (subjective).

Azure Event Hub

What is Azure Event Hubs and why use it

Overview and introduction to Azure Event Hubs - Cloud-scale telemetry


ingestion from websites, apps, and devices

[Link]

Azure Event Hub allows you to set up a scalable Event Hub


that suits your needs in a couple of seconds. It is a PaaS
offering by Microsoft Azure, so that you do not need to
manage it, but rather just consume it.

To provide full interoperability and binary compatibility


across platforms, Event Hub uses the Advanced Message
Queuing Protocol (AMQP) which is an open standard,
downloadable by
everyone: [Link]
Azure Event Hub Architecture
— [Link]
ures

Apache Kafka
[Link]

Apache Kafka is a Message Broker originally developed by


LinkedIn and open sourced early 2011. It is just like Azure
Event Hub a platform capable of handling millions of events.

The main difference between Apache Kafka and Event Hubs


is that Apache Kafka is mostly installed through an IaaS
offering rather than a PaaS offering. This trend however is
changing and more and more Cloud Vendors are now
offering PaaS versions of Kafka as well. Apache Kafka also
has a big open source community behind
it. [Link]

Apache Kafka Architecture


— [Link]
RabbitMQ

RabbitMQ - Messaging that just works

RabbitMQ is lightweight and easy to deploy on premises and in the


cloud. It supports multiple messaging protocols…

[Link]

RabbitMQ was one of the first open source message brokers,


developed to implement AMQP to work across different
platforms and languages.
RabbitMQ Architecture
— [Link]

You might also like