Webinar
Unifying Data from Vehicle to Cloud | Register Now →

Unified MQTT and Kafka with EMQX Streaming

Ingesting massive messages from millions of connected MQTT clients, storing them reliably, consuming them using Kafka clients directly, integrating with your backend services and systems seamlessly… Get all of these well done in one EMQX Platform.

Unified MQTT and Kafka with

What is EMQX Streaming?

EMQX Streaming is an innovative feature of EMQX that allows users to persistently store MQTT messages as data streams and consume them directly using Kafka clients.

MQTT is excellent for real-time message distribution and connecting many concurrent clients, but it doesn't directly support storing massive messages and on-demand access to historical data. As a result, MQTT brokers and Kafka have become the ideal partners and the combination of choice for most users.

However, maintaining separate Kafka clusters for MQTT workloads has become an additional burden, as it is very expensive, complex, and has high operational costs.

The EMQX Streaming feature is designed to solve this problem. Now, one EMQX Platform can meet these needs, and you no longer need to maintain separate Kafka clusters.

With EMQX Streaming:

  • Reliably store large amounts of MQTT message data
  • Directly use Kafka clients for historical data replay and real-time subscription
  • Seamlessly integrate with existing backend applications and big data systems
  • Directly interface with stream processors like Flink for data processing
Introduction

Benefits

Enhanced Data Persistence


MQTT Messages can be saved as data streams for a long time. Streams are also replicated across multiple nodes for fault tolerance and high availability.

Kafka Ecosystem Compatibility


EMQX Streaming implements the Kafka wire protocol, so it is compatible with the vast Kafka ecosystem, including Kafka clients, connectors, Flink, and more. It can also seamlessly work with your current Kafka applications.

Unified Experience


Operate and manage MQTT and Kafka workloads on one EMQX platform through a unified UI and APIs without any complicated integration process.

Simplified Operation and Maintenance


Managing Kafka clusters is tedious and complex. With EMQX Streaming, you no longer need to build and manage dedicated Kafka clusters for your MQTT data. This will significantly reduce your operational costs and mental burden.

How EMQX Streaming Works

How EMQX Streaming Works
Stream declaration
You must declare a stream with an MQTT topic filter before using it. All MQTT messages matched with the topic filter will be saved into the stream.
Stream data storage
The stream data persists in the storage system of EMQX, and to ensure fault tolerance and high availability, the data is replicated across multiple nodes.
Requests serving
Kafka clients send requests to EMQX to fetch stream data. Because EMQX can understand Kafka protocol, it can reply to Kafka clients correctly.
Group management
EMQX streaming also supports Kafka consumer group protocol. It can manage the cooperative consumption of multiple Kafka consumers and maintain their consumption progress.
Stream data retention
The data in streams will be saved for a specified period of time, and outdated data will be automatically deleted.

Get Started with EMQX Streaming

Explore our detailed EMQX Streaming Documentation to learn how to configure and optimize this feature for your needs.
Documentation →
Have questions or need a tailored solution? Contact our sales team today to discuss how EMQX Streaming can enhance your IoT deployment.
Contact Us →