SlideShare a Scribd company logo
1 of 59
Download to read offline
Copyright © by HiveMQ. All Rights Reserved.
WELCOME
Dominik Obermaier Magi Erber
HiveMQ CTO
● Strong background in
distributed and large
scale systems
architecture
● OASIS MQTT TC Member
● Author of „The Technical
Foundations of IoT“
● Conference Speaker and
Author
● Program committee
member for German and
international IoT
conferences
Product Manager @HiveMQ
● Conference Speaker
● Author
● Expert for cloud native
technologies and
Apache Kafka
@dobermai
linkedin.com/in/dobermai/
@ErberMagi
linkedin.com/in/margaretha-erber/
Copyright © by HiveMQ. All Rights Reserved.
The Internet of Things is HUGE
PEOPLE ON THE INTERNET
Copyright © by HiveMQ. All Rights Reserved.
Copyright © by HiveMQ. All Rights Reserved.
The Internet of Things is HUGE
DEVICES ON THE INTERNET
Copyright © by HiveMQ. All Rights Reserved.
Copyright © by HiveMQ. All Rights Reserved.
Copyright © by HiveMQ. All Rights Reserved.
Technical IoT Challenges
Customers, ARR, ...
Confidential and Proprietary. Copyright © by HiveMQ. All Rights Reserved.
Copyright © by HiveMQ. All Rights Reserved.
Challenge 1 - Scalability
● Enterprise IT infrastructure is not
suitable for IoT
Copyright © by HiveMQ. All Rights Reserved.
● Massive scalability required for
millions of devices
Copyright © by HiveMQ. All Rights Reserved.
Challenge 2 - Instant Data Delivery required
● End customers are used to instant
user experiences like instant
messaging with WhatsApp
Copyright © by HiveMQ. All Rights Reserved.
● Critical systems need reliable and
instant data transfer like manufacturing
systems
● Bidirectional communication required
Copyright © by HiveMQ. All Rights Reserved.
Challenge 3 - Unreliable Networks
● Customer experience for IoT apps and devices
must be excellent even when internet
connectivity is flaky
Especially for moving “devices” like cars
Copyright © by HiveMQ. All Rights Reserved.
● Devices and apps must be easy to program and
maintain, complexity should be in the cloud not
on the device
Cloud is easier to update than physical devices
Copyright © by HiveMQ. All Rights Reserved.
Web Technology used today is
built for the
Internet of Humans,
NOT for the
Internet of Things
Confidential and Proprietary. Copyright © by HiveMQ. All Rights Reserved.
Copyright © by HiveMQ. All Rights Reserved.
We need open standards
designed for the
Internet of Things
Confidential and Proprietary. Copyright © by HiveMQ. All Rights Reserved.
Copyright © by HiveMQ. All Rights Reserved.
Copyright © by HiveMQ. All Rights Reserved.
What Is MQTT?
• Easy on the device side, pushes all implementation
complexity to the server
• Publish/Subscribe based architecture
• Created for extreme scale and instant data exchange
• (I)IoT Messaging Protocol
• Built for machines and constrained devices (binary,
data agnostic)
• Designed for reliable communication over unreliable
channels
Copyright © by HiveMQ. All Rights Reserved.
Benefits of
• Lightweight and efficient
• Bi-directional communications
• Scale to millions of things
• Reliable message delivery
• Support of unreliable networks
• Security Enabled
1
Copyright © by HiveMQ. All Rights Reserved.
Connected Car
IIoT /
Industry 4.0
Logistics Telecommunication
IoT Messaging
Middleware
MQTT Use Cases
Copyright © by HiveMQ. All Rights Reserved.
MQTT Use Cases
Push Communication
Reliable Communication over
unreliable networks
Constrained Devices
Low Bandwidth and High
Latency
Industrial Message Bus
Copyright © by HiveMQ. All Rights Reserved.
Copyright © by HiveMQ. All Rights Reserved.
Copyright © by HiveMQ. All Rights Reserved.
Copyright © by HiveMQ. All Rights Reserved.
Apache Kafka
● Distributed streaming platform
● Used by over one third of Fortune 500 companies
● Most popular Apache project on GitHub
● Central messaging and distributed stream processing
application
Copyright © by HiveMQ. All Rights Reserved.
Apache Kafka Strengths
● Optimized to stream data between systems
and applications in a scalable manner
● Scale-out with multiple partitions for a topic
and multiple nodes
● Perfect for inter-system communication
○ inside trusted network
○ with stable IP addresses and
connections and
○ limited number of producers and
consumers
Copyright © by HiveMQ. All Rights Reserved.
Apache Kafka
Copyright © by HiveMQ. All Rights Reserved.
Apache Kafka
Producers Consumers
Partition 1
Partition 2
Partition 3
My Topic
Producer A
Producer B
Consumer
A
Consumer
B
Consumer
C
0
0
0
1
1
1
2
Copyright © by HiveMQ. All Rights Reserved.
Apache Kafka for IoT -
How does it fit in?
Copyright © by HiveMQ. All Rights Reserved.
IoT Reality Challenges
Copyright © by HiveMQ. All Rights Reserved.
Challenge 1 - Millions of Connections
● Clients are connected over the Internet
● Load Balancers are used as first line of
defense
● IP addresses of infrastructure (e.g. Kafka
nodes) not exposed to the public Internet
● Load Balancers effectively act as proxy
● Kafka Clients need to address Kafka brokers directly,
which is not possible with L4 load balancers
IoT REALITY
Copyright © by HiveMQ. All Rights Reserved.
● IoT devices typically are segmented to use individual topics
● Individual topics very often contain data like unique device
identifier
● Multiple millions of topics can be used in a single IoT
scenario
● Ideal for security as it’s possible to restrict devices to only
produce and consume for specific topics
● Topics are usually dynamic
● Kafka is hard to scale to multiple
thousands or even millions of topics
IoT REALITY
Challenge 2 - Scalability and Topics
Copyright © by HiveMQ. All Rights Reserved.
car-0000001
my-iot-devices/ger/group-1/car-0000001/speed
my-iot-devices/ger/group-1/car-0000001/location
my-iot-devices/ger/group-1/car-0000001/motor-heat
car-1045107
my-iot-devices/eu/group-3/car-1045107/speed
my-iot-devices/eu/group-3/car-1045107/location
my-iot-devices/eu/group-3/car-1045107/motor-heat
my-iot-devices/usa/group-1/car-5239284/speed
my-iot-devices/usa/group-1/car-5239284/location
my-iot-devices/usa/group-1/car-5239284/motor-heat
...
...
car-5239284
Challenge 2 - Scalability and Topics
Copyright © by HiveMQ. All Rights Reserved.
● IoT devices are typically very constrained (computing power and
memory)
● Device programmer need very simple APIs AND full flexibility
when it comes to library behavior
● Single IoT devices typically don’t require lot of throughput
● Important to limit and understand the number of TCP connections,
especially over the Internet. Very often only one TCP connection
to the backend desired
● Kafka Clients are reasonable complex by design (e.g. use multiple TCP
connections)
● Libraries optimized for throughput
● APIs for Kafka libraries are simple to use but the behavior sometimes isn’t
configurable easily (e.g. async send() method can block)
IoT REALITY
Challenge 3 - Constraint Devices
Copyright © by HiveMQ. All Rights Reserved.
● Features like on/off notifications are often required
● Unreliable networks require lightweight keep-alive mechanisms
for producers and consumers (half-open connections)
● Device communication over the Internet requires minimal
communication overhead
● No on/off notification mechanism
● No Keep-Alive mechanism individual TCP connections for producers
● Kafka Protocol for producers rather heavyweight over the Internet (lots of
communication)
○
IoT REALITY
Challenge 4 - Unreliable Network
Copyright © by HiveMQ. All Rights Reserved.
Kafka is well suited for data
ingestion of cloud native server
applications,
but not well suited for IoT device
data connectivity
Confidential and Proprietary. Copyright © by HiveMQ. All Rights Reserved.
Copyright © by HiveMQ. All Rights Reserved.
Challenges for Apache Kafka in IoT
Kafka brokers need to be addressed directly by the clients
Kafka does not support large amounts of topics
Kafka clients are reasonably complex and resource intensive compared
to client libraries for IoT protocols
Kafka clients require a stable TCP connection for best results
It’s unusual (and very often not even possible at all) to have tens of
thousands or even millions of clients connected to a single Kafka cluster
Kafka is missing some key IoT features
Copyright © by HiveMQ. All Rights Reserved.
How to use the best of
both worlds?
Copyright © by HiveMQ. All Rights Reserved.
A Love Story Made in Heaven
❤
Copyright © by HiveMQ. All Rights Reserved.
HiveMQ - Enterprise MQTT Broker
● Connectivity and Messaging Platform
● Based on standard IoT protocol
(MQTT)
● Scales to more than 10 million
always-on devices
● Allow multi-cloud and Enterprise
software integration
Copyright © by HiveMQ. All Rights Reserved.
HiveMQ - Enterprise MQTT Broker
Copyright © by HiveMQ. All Rights Reserved.
HiveMQ and Kafka
Fast, reliable communication
Ideal for communication over
unreliable networks
Connects millions of IoT
Devices
Optimized to stream data
between systems and
applications
Communication inside trusted
networks
Connects limited number of
communication partners
Copyright © by HiveMQ. All Rights Reserved.
Copyright © by HiveMQ. All Rights Reserved.
HiveMQ Enterprise Extension for Kafka
● Native implementation of Kafka protocol
● End to-end persistent messaging guarantees
● Bi-directional communication
● High Scalability and resilience
● Support of Local Schema Registry (Avro,
JSON)
● Support of Confluent Schema Registry (Avro)
● Stream to multiple Kafka instances
Copyright © by HiveMQ. All Rights Reserved.
Support of Different Kafka Distributions
● Multiple Kafka deployments simultaneously
• AWS MSK
• Apache Kafka (Open Source) • Confluent Platform
• Confluent Cloud
Copyright © by HiveMQ. All Rights Reserved.
High Scalability and Resilience
Scales elastically with the MQTT broker
No message loss: Queues messages, if Kafka cluster is
temporarily not available
Extreme throughput. Can write hundreds of thousands of MQTT
messages per second to Kafka
Copyright © by HiveMQ. All Rights Reserved.
Bidirectional Communication
Copyright © by HiveMQ. All Rights Reserved.
Bidirectional Communication
● MQTT to Kafka Topic Mapping
○ One to One Topic Mapping
○ Aggregating MQTT Topics to
Firehose Kafka Topic (using topic
filters)
● Kafka to MQTT Topic Mapping
○ One to One Topic Mapping
○ One (Many) to Many Topic Mapping
○ Message transformation (using parts of
Kafka message)
Copyright © by HiveMQ. All Rights Reserved.
Bidirectional Communication
Record
Kafka Key
Kafka Value
PUBLISH
MQTT Topic
MQTT Payload
Topic
Copyright © by HiveMQ. All Rights Reserved.
Bidirectional Communication
Record
Kafka Key
Kafka Value
PUBLISH
MQTT Topic
MQTT Payload
Topic
Copyright © by HiveMQ. All Rights Reserved.
Message Transformation
Record
Kafka Key
{
“client-id”: “client-1”,
“message”: “whatever needs to be sent”
}
PUBLISH
my-iot-devices/group-1/${client-id}
/{message}
Topic
my-iot-devices/group-1/client-1
“whatever needs to be sent”
Copyright © by HiveMQ. All Rights Reserved.
Message Multicasting
Record
Kafka Key
{
“client-id”: [“client-1”, “client-2”, “client-3”],
“message”: “whatever needs to be sent”
}
PUBLISH
my-iot-devices/group-1
/${client-id}
“whatever needs to
be sent”
Topic
PUBLISH
my-iot-devices/group-1
/${client-id}
“whatever needs to
be sent”
PUBLISH
my-iot-devices/group-1
/${client-id}
“whatever needs to
be sent”
my-iot-devices/group-1
/client-1
my-iot-devices/group-1
/client-2
my-iot-devices/group-1
/client-3
Copyright © by HiveMQ. All Rights Reserved.
Support of Schema Registries
Apache Kafka
● Kafka does not care about message
formats
● No verification of message
correctness
● Systems are evolving and message
formats will change
● Support of Local Schema Registry
○ JSON and Avro messages
○ Message validation
Schema Registries
• Guarantee the correct functionality of
messaging
• Message validation
• Schema evolution
Copyright © by HiveMQ. All Rights Reserved.
Local Schema Registry
Copyright © by HiveMQ. All Rights Reserved.
Support of Schema Registries
Apache Kafka
● Kafka does not care about message
formats
● No verification of message
correctness
● Systems are evolving and message
formats will change
● Support of Local Schema Registry
○ JSON and Avro messages
○ Message validation
● Support of Confluent Schema Registry
○ Avro messages
○ Message validation
○ Schema evolution
Schema Registries
• Guarantee the correct functionality of
messaging
• Message validation
• Schema evolution
Copyright © by HiveMQ. All Rights Reserved.
Confluent Schema Registry
Copyright © by HiveMQ. All Rights Reserved.
Observability of Communication
Copyright © by HiveMQ. All Rights Reserved.
● Connect millions of IoT devices, over unreliable networks, to seamlessly send data to one or
multiple Kafka clusters
● Route IoT device data to multiple Kafka clusters allowing for a single IoT platform to support
different types of devices and forward device data to different back-end applications
● Poll information from one or multiple Kafka clusters and distribute this information to
millions of IoT devices
● Support of all MQTT 3.1.1 and MQTT 5 features
● Map millions of MQTT topics to a limited number of Kafka topics using MQTT wildcards
● Enable end to-end persistent messaging guarantees from device to Kafka so no messages
are lost
● Monitor MQTT messages written to Kafka using the HiveMQ Control Center
Copyright © by HiveMQ. All Rights Reserved.
Demo
Copyright © by HiveMQ. All Rights Reserved.
HiveMQ Enterprise Extension for Kafka - Demo
Mobile
Application
sensor-data
Stream processing
using KSQL
Other
Backend
Systems
MQTT to Kafka
Kafka to MQTT
100
simulated
cars
Confluent Schema Registry
Get Schema
alert
Copyright © by HiveMQ. All Rights Reserved.
Copyright © by HiveMQ. All Rights Reserved.
Resources
MQTT Essentials Series
Evaluate HiveMQ Broker
Try HiveMQ Cloud
Get Started with MQTT
MQTT at OASIS
ANY
QUESTIONS?
Reach out to community.hivemq.com
THANK YOU

More Related Content

Similar to HiveMQ and Kafka Integration

HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTTHiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTTDominik Obermaier
 
Mqtt.fx on hive mq cloud
Mqtt.fx on hive mq cloudMqtt.fx on hive mq cloud
Mqtt.fx on hive mq cloudMargarethaErber
 
Lightweight and Scalable IoT Messaging with MQTT
Lightweight and Scalable IoT Messaging with MQTTLightweight and Scalable IoT Messaging with MQTT
Lightweight and Scalable IoT Messaging with MQTTHiveMQ
 
Best Practices for Streaming Connected Car Data with MQTT & Kafka
Best Practices for Streaming Connected Car Data with MQTT & KafkaBest Practices for Streaming Connected Car Data with MQTT & Kafka
Best Practices for Streaming Connected Car Data with MQTT & KafkaHiveMQ
 
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQMachine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQHiveMQ
 
A pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoTA pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoTDominik Obermaier
 
Modernizing the Manufacturing Industry with Kafka and MQTT
Modernizing the Manufacturing Industry with Kafka and MQTT Modernizing the Manufacturing Industry with Kafka and MQTT
Modernizing the Manufacturing Industry with Kafka and MQTT Dominik Obermaier
 
Simplified IoT Operations With HiveMQ and Datadog
Simplified IoT Operations With HiveMQ and DatadogSimplified IoT Operations With HiveMQ and Datadog
Simplified IoT Operations With HiveMQ and DatadogHiveMQ
 
Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...
Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...
Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...Dominik Obermaier
 
MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT
MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT
MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT Dominik Obermaier
 
Back to Basics: An Introduction to MQTT
Back to Basics: An Introduction to MQTTBack to Basics: An Introduction to MQTT
Back to Basics: An Introduction to MQTTHiveMQ
 
Inntroduction to MQTT Sparkplug with HiveMQ and Opto22
Inntroduction to MQTT Sparkplug with HiveMQ and Opto22Inntroduction to MQTT Sparkplug with HiveMQ and Opto22
Inntroduction to MQTT Sparkplug with HiveMQ and Opto22Dominik Obermaier
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...confluent
 
How mqtt 5 makes difficult io t use cases possible
How mqtt 5 makes difficult io t use cases possibleHow mqtt 5 makes difficult io t use cases possible
How mqtt 5 makes difficult io t use cases possibleFlorian Raschbichler
 
Building Scalable & Reliable MQTT Clients for Enterprise Computing
Building Scalable & Reliable MQTT Clients for Enterprise ComputingBuilding Scalable & Reliable MQTT Clients for Enterprise Computing
Building Scalable & Reliable MQTT Clients for Enterprise ComputingHiveMQ
 
Revolutionizing IoT Testing - A Sneak Peek of HiveMQ Swarm
Revolutionizing IoT Testing - A Sneak Peek of HiveMQ SwarmRevolutionizing IoT Testing - A Sneak Peek of HiveMQ Swarm
Revolutionizing IoT Testing - A Sneak Peek of HiveMQ SwarmHiveMQ
 
MQTT 5 - Why You Need It and Potential Pitfalls
MQTT 5 - Why You Need It and Potential PitfallsMQTT 5 - Why You Need It and Potential Pitfalls
MQTT 5 - Why You Need It and Potential PitfallsHiveMQ
 
Introduction to MQTT Sparkplug: Plug 'n Play Interoperability for IIoT
Introduction to MQTT Sparkplug: Plug 'n Play Interoperability for IIoTIntroduction to MQTT Sparkplug: Plug 'n Play Interoperability for IIoT
Introduction to MQTT Sparkplug: Plug 'n Play Interoperability for IIoTHiveMQ
 
Lightweight and scalable IoT Messaging with MQTT
Lightweight and scalable IoT Messaging with MQTTLightweight and scalable IoT Messaging with MQTT
Lightweight and scalable IoT Messaging with MQTTDominik Obermaier
 
MQTT 5: Why you need it and potential pitfalls
MQTT 5: Why you need it and potential pitfallsMQTT 5: Why you need it and potential pitfalls
MQTT 5: Why you need it and potential pitfallsDominik Obermaier
 

Similar to HiveMQ and Kafka Integration (20)

HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTTHiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
HiveMQ Webinar: Lightweight and scalable IoT Messaging with MQTT
 
Mqtt.fx on hive mq cloud
Mqtt.fx on hive mq cloudMqtt.fx on hive mq cloud
Mqtt.fx on hive mq cloud
 
Lightweight and Scalable IoT Messaging with MQTT
Lightweight and Scalable IoT Messaging with MQTTLightweight and Scalable IoT Messaging with MQTT
Lightweight and Scalable IoT Messaging with MQTT
 
Best Practices for Streaming Connected Car Data with MQTT & Kafka
Best Practices for Streaming Connected Car Data with MQTT & KafkaBest Practices for Streaming Connected Car Data with MQTT & Kafka
Best Practices for Streaming Connected Car Data with MQTT & Kafka
 
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQMachine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
Machine to Machine Communication with Microsoft Azure IoT Edge & HiveMQ
 
A pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoTA pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoT
 
Modernizing the Manufacturing Industry with Kafka and MQTT
Modernizing the Manufacturing Industry with Kafka and MQTT Modernizing the Manufacturing Industry with Kafka and MQTT
Modernizing the Manufacturing Industry with Kafka and MQTT
 
Simplified IoT Operations With HiveMQ and Datadog
Simplified IoT Operations With HiveMQ and DatadogSimplified IoT Operations With HiveMQ and Datadog
Simplified IoT Operations With HiveMQ and Datadog
 
Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...
Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...
Software-Infrastrukturen modernisieren in der Produktion - Digitale Transform...
 
MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT
MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT
MQTT AS A KEY TECHNOLOGY FOR INDUSTRY 4.0 & IIoT
 
Back to Basics: An Introduction to MQTT
Back to Basics: An Introduction to MQTTBack to Basics: An Introduction to MQTT
Back to Basics: An Introduction to MQTT
 
Inntroduction to MQTT Sparkplug with HiveMQ and Opto22
Inntroduction to MQTT Sparkplug with HiveMQ and Opto22Inntroduction to MQTT Sparkplug with HiveMQ and Opto22
Inntroduction to MQTT Sparkplug with HiveMQ and Opto22
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
 
How mqtt 5 makes difficult io t use cases possible
How mqtt 5 makes difficult io t use cases possibleHow mqtt 5 makes difficult io t use cases possible
How mqtt 5 makes difficult io t use cases possible
 
Building Scalable & Reliable MQTT Clients for Enterprise Computing
Building Scalable & Reliable MQTT Clients for Enterprise ComputingBuilding Scalable & Reliable MQTT Clients for Enterprise Computing
Building Scalable & Reliable MQTT Clients for Enterprise Computing
 
Revolutionizing IoT Testing - A Sneak Peek of HiveMQ Swarm
Revolutionizing IoT Testing - A Sneak Peek of HiveMQ SwarmRevolutionizing IoT Testing - A Sneak Peek of HiveMQ Swarm
Revolutionizing IoT Testing - A Sneak Peek of HiveMQ Swarm
 
MQTT 5 - Why You Need It and Potential Pitfalls
MQTT 5 - Why You Need It and Potential PitfallsMQTT 5 - Why You Need It and Potential Pitfalls
MQTT 5 - Why You Need It and Potential Pitfalls
 
Introduction to MQTT Sparkplug: Plug 'n Play Interoperability for IIoT
Introduction to MQTT Sparkplug: Plug 'n Play Interoperability for IIoTIntroduction to MQTT Sparkplug: Plug 'n Play Interoperability for IIoT
Introduction to MQTT Sparkplug: Plug 'n Play Interoperability for IIoT
 
Lightweight and scalable IoT Messaging with MQTT
Lightweight and scalable IoT Messaging with MQTTLightweight and scalable IoT Messaging with MQTT
Lightweight and scalable IoT Messaging with MQTT
 
MQTT 5: Why you need it and potential pitfalls
MQTT 5: Why you need it and potential pitfallsMQTT 5: Why you need it and potential pitfalls
MQTT 5: Why you need it and potential pitfalls
 

More from HiveMQ

IoT Security Issues and MQTT
IoT Security Issues and MQTTIoT Security Issues and MQTT
IoT Security Issues and MQTTHiveMQ
 
Testing the Scalability of a Robust IoT System with Confidence
Testing the Scalability of a Robust IoT System with ConfidenceTesting the Scalability of a Robust IoT System with Confidence
Testing the Scalability of a Robust IoT System with ConfidenceHiveMQ
 
Designing an Edge to Cloud Architecture for IIoT
Designing an Edge to Cloud Architecture for IIoTDesigning an Edge to Cloud Architecture for IIoT
Designing an Edge to Cloud Architecture for IIoTHiveMQ
 
What's New in HiveMQ [Inside the Upcoming HiveMQ 4.7 Release]
What's New in HiveMQ [Inside the Upcoming HiveMQ 4.7 Release]What's New in HiveMQ [Inside the Upcoming HiveMQ 4.7 Release]
What's New in HiveMQ [Inside the Upcoming HiveMQ 4.7 Release]HiveMQ
 
HiveMQ & HighByte Presents: Building an Enterprise Unified Namespace (UNS) to...
HiveMQ & HighByte Presents: Building an Enterprise Unified Namespace (UNS) to...HiveMQ & HighByte Presents: Building an Enterprise Unified Namespace (UNS) to...
HiveMQ & HighByte Presents: Building an Enterprise Unified Namespace (UNS) to...HiveMQ
 
How MQTT 5 Makes Difficult IoT Use Cases Possible
How MQTT 5 Makes Difficult IoT Use Cases PossibleHow MQTT 5 Makes Difficult IoT Use Cases Possible
How MQTT 5 Makes Difficult IoT Use Cases PossibleHiveMQ
 
How to Monitor and Observe IoT and MQTT Applications with HiveMQ
How to Monitor and Observe IoT and MQTT Applications with HiveMQ How to Monitor and Observe IoT and MQTT Applications with HiveMQ
How to Monitor and Observe IoT and MQTT Applications with HiveMQ HiveMQ
 
Connecting the Smart Factory to the Cloud
Connecting the Smart Factory to the CloudConnecting the Smart Factory to the Cloud
Connecting the Smart Factory to the CloudHiveMQ
 
Free Your Manufacturing Data with Apache PLC4X & MQTT
Free Your Manufacturing Data with Apache PLC4X & MQTTFree Your Manufacturing Data with Apache PLC4X & MQTT
Free Your Manufacturing Data with Apache PLC4X & MQTTHiveMQ
 
Build Your Own HiveMQ Extension
Build Your Own HiveMQ ExtensionBuild Your Own HiveMQ Extension
Build Your Own HiveMQ ExtensionHiveMQ
 
How to Set up, Run and Scale a Secure MQTT Broker on Kubernetes
How to Set up, Run and Scale a Secure MQTT Broker on KubernetesHow to Set up, Run and Scale a Secure MQTT Broker on Kubernetes
How to Set up, Run and Scale a Secure MQTT Broker on KubernetesHiveMQ
 
MQTT - The Key to Scalable Reliable Connected Car Platforms
MQTT - The Key to Scalable Reliable Connected Car PlatformsMQTT - The Key to Scalable Reliable Connected Car Platforms
MQTT - The Key to Scalable Reliable Connected Car PlatformsHiveMQ
 
Modernizing the Manufacturing Industry with MQTT and Kafka
Modernizing the Manufacturing Industry with MQTT and KafkaModernizing the Manufacturing Industry with MQTT and Kafka
Modernizing the Manufacturing Industry with MQTT and KafkaHiveMQ
 
Implementing the 5 Pillars of IT Security for MQTT
Implementing the 5 Pillars of IT Security for MQTTImplementing the 5 Pillars of IT Security for MQTT
Implementing the 5 Pillars of IT Security for MQTTHiveMQ
 
4 Paradigm Shifts for the Connected Car of the Future
4 Paradigm Shifts for the Connected Car of the Future4 Paradigm Shifts for the Connected Car of the Future
4 Paradigm Shifts for the Connected Car of the FutureHiveMQ
 
How to Stream IoT MQTT Messages Into the Azure Event Hubs Service
How to Stream IoT MQTT Messages Into the Azure Event Hubs ServiceHow to Stream IoT MQTT Messages Into the Azure Event Hubs Service
How to Stream IoT MQTT Messages Into the Azure Event Hubs ServiceHiveMQ
 

More from HiveMQ (16)

IoT Security Issues and MQTT
IoT Security Issues and MQTTIoT Security Issues and MQTT
IoT Security Issues and MQTT
 
Testing the Scalability of a Robust IoT System with Confidence
Testing the Scalability of a Robust IoT System with ConfidenceTesting the Scalability of a Robust IoT System with Confidence
Testing the Scalability of a Robust IoT System with Confidence
 
Designing an Edge to Cloud Architecture for IIoT
Designing an Edge to Cloud Architecture for IIoTDesigning an Edge to Cloud Architecture for IIoT
Designing an Edge to Cloud Architecture for IIoT
 
What's New in HiveMQ [Inside the Upcoming HiveMQ 4.7 Release]
What's New in HiveMQ [Inside the Upcoming HiveMQ 4.7 Release]What's New in HiveMQ [Inside the Upcoming HiveMQ 4.7 Release]
What's New in HiveMQ [Inside the Upcoming HiveMQ 4.7 Release]
 
HiveMQ & HighByte Presents: Building an Enterprise Unified Namespace (UNS) to...
HiveMQ & HighByte Presents: Building an Enterprise Unified Namespace (UNS) to...HiveMQ & HighByte Presents: Building an Enterprise Unified Namespace (UNS) to...
HiveMQ & HighByte Presents: Building an Enterprise Unified Namespace (UNS) to...
 
How MQTT 5 Makes Difficult IoT Use Cases Possible
How MQTT 5 Makes Difficult IoT Use Cases PossibleHow MQTT 5 Makes Difficult IoT Use Cases Possible
How MQTT 5 Makes Difficult IoT Use Cases Possible
 
How to Monitor and Observe IoT and MQTT Applications with HiveMQ
How to Monitor and Observe IoT and MQTT Applications with HiveMQ How to Monitor and Observe IoT and MQTT Applications with HiveMQ
How to Monitor and Observe IoT and MQTT Applications with HiveMQ
 
Connecting the Smart Factory to the Cloud
Connecting the Smart Factory to the CloudConnecting the Smart Factory to the Cloud
Connecting the Smart Factory to the Cloud
 
Free Your Manufacturing Data with Apache PLC4X & MQTT
Free Your Manufacturing Data with Apache PLC4X & MQTTFree Your Manufacturing Data with Apache PLC4X & MQTT
Free Your Manufacturing Data with Apache PLC4X & MQTT
 
Build Your Own HiveMQ Extension
Build Your Own HiveMQ ExtensionBuild Your Own HiveMQ Extension
Build Your Own HiveMQ Extension
 
How to Set up, Run and Scale a Secure MQTT Broker on Kubernetes
How to Set up, Run and Scale a Secure MQTT Broker on KubernetesHow to Set up, Run and Scale a Secure MQTT Broker on Kubernetes
How to Set up, Run and Scale a Secure MQTT Broker on Kubernetes
 
MQTT - The Key to Scalable Reliable Connected Car Platforms
MQTT - The Key to Scalable Reliable Connected Car PlatformsMQTT - The Key to Scalable Reliable Connected Car Platforms
MQTT - The Key to Scalable Reliable Connected Car Platforms
 
Modernizing the Manufacturing Industry with MQTT and Kafka
Modernizing the Manufacturing Industry with MQTT and KafkaModernizing the Manufacturing Industry with MQTT and Kafka
Modernizing the Manufacturing Industry with MQTT and Kafka
 
Implementing the 5 Pillars of IT Security for MQTT
Implementing the 5 Pillars of IT Security for MQTTImplementing the 5 Pillars of IT Security for MQTT
Implementing the 5 Pillars of IT Security for MQTT
 
4 Paradigm Shifts for the Connected Car of the Future
4 Paradigm Shifts for the Connected Car of the Future4 Paradigm Shifts for the Connected Car of the Future
4 Paradigm Shifts for the Connected Car of the Future
 
How to Stream IoT MQTT Messages Into the Azure Event Hubs Service
How to Stream IoT MQTT Messages Into the Azure Event Hubs ServiceHow to Stream IoT MQTT Messages Into the Azure Event Hubs Service
How to Stream IoT MQTT Messages Into the Azure Event Hubs Service
 

Recently uploaded

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Recently uploaded (20)

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

HiveMQ and Kafka Integration

  • 1.
  • 2. Copyright © by HiveMQ. All Rights Reserved. WELCOME Dominik Obermaier Magi Erber HiveMQ CTO ● Strong background in distributed and large scale systems architecture ● OASIS MQTT TC Member ● Author of „The Technical Foundations of IoT“ ● Conference Speaker and Author ● Program committee member for German and international IoT conferences Product Manager @HiveMQ ● Conference Speaker ● Author ● Expert for cloud native technologies and Apache Kafka @dobermai linkedin.com/in/dobermai/ @ErberMagi linkedin.com/in/margaretha-erber/
  • 3. Copyright © by HiveMQ. All Rights Reserved. The Internet of Things is HUGE PEOPLE ON THE INTERNET Copyright © by HiveMQ. All Rights Reserved.
  • 4. Copyright © by HiveMQ. All Rights Reserved. The Internet of Things is HUGE DEVICES ON THE INTERNET Copyright © by HiveMQ. All Rights Reserved.
  • 5. Copyright © by HiveMQ. All Rights Reserved.
  • 6. Copyright © by HiveMQ. All Rights Reserved. Technical IoT Challenges Customers, ARR, ... Confidential and Proprietary. Copyright © by HiveMQ. All Rights Reserved.
  • 7. Copyright © by HiveMQ. All Rights Reserved. Challenge 1 - Scalability ● Enterprise IT infrastructure is not suitable for IoT Copyright © by HiveMQ. All Rights Reserved. ● Massive scalability required for millions of devices
  • 8. Copyright © by HiveMQ. All Rights Reserved. Challenge 2 - Instant Data Delivery required ● End customers are used to instant user experiences like instant messaging with WhatsApp Copyright © by HiveMQ. All Rights Reserved. ● Critical systems need reliable and instant data transfer like manufacturing systems ● Bidirectional communication required
  • 9. Copyright © by HiveMQ. All Rights Reserved. Challenge 3 - Unreliable Networks ● Customer experience for IoT apps and devices must be excellent even when internet connectivity is flaky Especially for moving “devices” like cars Copyright © by HiveMQ. All Rights Reserved. ● Devices and apps must be easy to program and maintain, complexity should be in the cloud not on the device Cloud is easier to update than physical devices
  • 10. Copyright © by HiveMQ. All Rights Reserved. Web Technology used today is built for the Internet of Humans, NOT for the Internet of Things Confidential and Proprietary. Copyright © by HiveMQ. All Rights Reserved.
  • 11. Copyright © by HiveMQ. All Rights Reserved. We need open standards designed for the Internet of Things Confidential and Proprietary. Copyright © by HiveMQ. All Rights Reserved.
  • 12. Copyright © by HiveMQ. All Rights Reserved.
  • 13. Copyright © by HiveMQ. All Rights Reserved. What Is MQTT? • Easy on the device side, pushes all implementation complexity to the server • Publish/Subscribe based architecture • Created for extreme scale and instant data exchange • (I)IoT Messaging Protocol • Built for machines and constrained devices (binary, data agnostic) • Designed for reliable communication over unreliable channels
  • 14. Copyright © by HiveMQ. All Rights Reserved. Benefits of • Lightweight and efficient • Bi-directional communications • Scale to millions of things • Reliable message delivery • Support of unreliable networks • Security Enabled 1
  • 15. Copyright © by HiveMQ. All Rights Reserved. Connected Car IIoT / Industry 4.0 Logistics Telecommunication IoT Messaging Middleware MQTT Use Cases
  • 16. Copyright © by HiveMQ. All Rights Reserved. MQTT Use Cases Push Communication Reliable Communication over unreliable networks Constrained Devices Low Bandwidth and High Latency Industrial Message Bus
  • 17. Copyright © by HiveMQ. All Rights Reserved.
  • 18. Copyright © by HiveMQ. All Rights Reserved.
  • 19. Copyright © by HiveMQ. All Rights Reserved.
  • 20. Copyright © by HiveMQ. All Rights Reserved. Apache Kafka ● Distributed streaming platform ● Used by over one third of Fortune 500 companies ● Most popular Apache project on GitHub ● Central messaging and distributed stream processing application
  • 21. Copyright © by HiveMQ. All Rights Reserved. Apache Kafka Strengths ● Optimized to stream data between systems and applications in a scalable manner ● Scale-out with multiple partitions for a topic and multiple nodes ● Perfect for inter-system communication ○ inside trusted network ○ with stable IP addresses and connections and ○ limited number of producers and consumers
  • 22. Copyright © by HiveMQ. All Rights Reserved. Apache Kafka
  • 23. Copyright © by HiveMQ. All Rights Reserved. Apache Kafka Producers Consumers Partition 1 Partition 2 Partition 3 My Topic Producer A Producer B Consumer A Consumer B Consumer C 0 0 0 1 1 1 2
  • 24. Copyright © by HiveMQ. All Rights Reserved. Apache Kafka for IoT - How does it fit in?
  • 25. Copyright © by HiveMQ. All Rights Reserved. IoT Reality Challenges
  • 26. Copyright © by HiveMQ. All Rights Reserved. Challenge 1 - Millions of Connections ● Clients are connected over the Internet ● Load Balancers are used as first line of defense ● IP addresses of infrastructure (e.g. Kafka nodes) not exposed to the public Internet ● Load Balancers effectively act as proxy ● Kafka Clients need to address Kafka brokers directly, which is not possible with L4 load balancers IoT REALITY
  • 27. Copyright © by HiveMQ. All Rights Reserved. ● IoT devices typically are segmented to use individual topics ● Individual topics very often contain data like unique device identifier ● Multiple millions of topics can be used in a single IoT scenario ● Ideal for security as it’s possible to restrict devices to only produce and consume for specific topics ● Topics are usually dynamic ● Kafka is hard to scale to multiple thousands or even millions of topics IoT REALITY Challenge 2 - Scalability and Topics
  • 28. Copyright © by HiveMQ. All Rights Reserved. car-0000001 my-iot-devices/ger/group-1/car-0000001/speed my-iot-devices/ger/group-1/car-0000001/location my-iot-devices/ger/group-1/car-0000001/motor-heat car-1045107 my-iot-devices/eu/group-3/car-1045107/speed my-iot-devices/eu/group-3/car-1045107/location my-iot-devices/eu/group-3/car-1045107/motor-heat my-iot-devices/usa/group-1/car-5239284/speed my-iot-devices/usa/group-1/car-5239284/location my-iot-devices/usa/group-1/car-5239284/motor-heat ... ... car-5239284 Challenge 2 - Scalability and Topics
  • 29. Copyright © by HiveMQ. All Rights Reserved. ● IoT devices are typically very constrained (computing power and memory) ● Device programmer need very simple APIs AND full flexibility when it comes to library behavior ● Single IoT devices typically don’t require lot of throughput ● Important to limit and understand the number of TCP connections, especially over the Internet. Very often only one TCP connection to the backend desired ● Kafka Clients are reasonable complex by design (e.g. use multiple TCP connections) ● Libraries optimized for throughput ● APIs for Kafka libraries are simple to use but the behavior sometimes isn’t configurable easily (e.g. async send() method can block) IoT REALITY Challenge 3 - Constraint Devices
  • 30. Copyright © by HiveMQ. All Rights Reserved. ● Features like on/off notifications are often required ● Unreliable networks require lightweight keep-alive mechanisms for producers and consumers (half-open connections) ● Device communication over the Internet requires minimal communication overhead ● No on/off notification mechanism ● No Keep-Alive mechanism individual TCP connections for producers ● Kafka Protocol for producers rather heavyweight over the Internet (lots of communication) ○ IoT REALITY Challenge 4 - Unreliable Network
  • 31. Copyright © by HiveMQ. All Rights Reserved. Kafka is well suited for data ingestion of cloud native server applications, but not well suited for IoT device data connectivity Confidential and Proprietary. Copyright © by HiveMQ. All Rights Reserved.
  • 32. Copyright © by HiveMQ. All Rights Reserved. Challenges for Apache Kafka in IoT Kafka brokers need to be addressed directly by the clients Kafka does not support large amounts of topics Kafka clients are reasonably complex and resource intensive compared to client libraries for IoT protocols Kafka clients require a stable TCP connection for best results It’s unusual (and very often not even possible at all) to have tens of thousands or even millions of clients connected to a single Kafka cluster Kafka is missing some key IoT features
  • 33. Copyright © by HiveMQ. All Rights Reserved. How to use the best of both worlds?
  • 34. Copyright © by HiveMQ. All Rights Reserved. A Love Story Made in Heaven ❤
  • 35. Copyright © by HiveMQ. All Rights Reserved. HiveMQ - Enterprise MQTT Broker ● Connectivity and Messaging Platform ● Based on standard IoT protocol (MQTT) ● Scales to more than 10 million always-on devices ● Allow multi-cloud and Enterprise software integration
  • 36. Copyright © by HiveMQ. All Rights Reserved. HiveMQ - Enterprise MQTT Broker
  • 37. Copyright © by HiveMQ. All Rights Reserved. HiveMQ and Kafka Fast, reliable communication Ideal for communication over unreliable networks Connects millions of IoT Devices Optimized to stream data between systems and applications Communication inside trusted networks Connects limited number of communication partners
  • 38. Copyright © by HiveMQ. All Rights Reserved.
  • 39. Copyright © by HiveMQ. All Rights Reserved. HiveMQ Enterprise Extension for Kafka ● Native implementation of Kafka protocol ● End to-end persistent messaging guarantees ● Bi-directional communication ● High Scalability and resilience ● Support of Local Schema Registry (Avro, JSON) ● Support of Confluent Schema Registry (Avro) ● Stream to multiple Kafka instances
  • 40. Copyright © by HiveMQ. All Rights Reserved. Support of Different Kafka Distributions ● Multiple Kafka deployments simultaneously • AWS MSK • Apache Kafka (Open Source) • Confluent Platform • Confluent Cloud
  • 41. Copyright © by HiveMQ. All Rights Reserved. High Scalability and Resilience Scales elastically with the MQTT broker No message loss: Queues messages, if Kafka cluster is temporarily not available Extreme throughput. Can write hundreds of thousands of MQTT messages per second to Kafka
  • 42. Copyright © by HiveMQ. All Rights Reserved. Bidirectional Communication
  • 43. Copyright © by HiveMQ. All Rights Reserved. Bidirectional Communication ● MQTT to Kafka Topic Mapping ○ One to One Topic Mapping ○ Aggregating MQTT Topics to Firehose Kafka Topic (using topic filters) ● Kafka to MQTT Topic Mapping ○ One to One Topic Mapping ○ One (Many) to Many Topic Mapping ○ Message transformation (using parts of Kafka message)
  • 44. Copyright © by HiveMQ. All Rights Reserved. Bidirectional Communication Record Kafka Key Kafka Value PUBLISH MQTT Topic MQTT Payload Topic
  • 45. Copyright © by HiveMQ. All Rights Reserved. Bidirectional Communication Record Kafka Key Kafka Value PUBLISH MQTT Topic MQTT Payload Topic
  • 46. Copyright © by HiveMQ. All Rights Reserved. Message Transformation Record Kafka Key { “client-id”: “client-1”, “message”: “whatever needs to be sent” } PUBLISH my-iot-devices/group-1/${client-id} /{message} Topic my-iot-devices/group-1/client-1 “whatever needs to be sent”
  • 47. Copyright © by HiveMQ. All Rights Reserved. Message Multicasting Record Kafka Key { “client-id”: [“client-1”, “client-2”, “client-3”], “message”: “whatever needs to be sent” } PUBLISH my-iot-devices/group-1 /${client-id} “whatever needs to be sent” Topic PUBLISH my-iot-devices/group-1 /${client-id} “whatever needs to be sent” PUBLISH my-iot-devices/group-1 /${client-id} “whatever needs to be sent” my-iot-devices/group-1 /client-1 my-iot-devices/group-1 /client-2 my-iot-devices/group-1 /client-3
  • 48. Copyright © by HiveMQ. All Rights Reserved. Support of Schema Registries Apache Kafka ● Kafka does not care about message formats ● No verification of message correctness ● Systems are evolving and message formats will change ● Support of Local Schema Registry ○ JSON and Avro messages ○ Message validation Schema Registries • Guarantee the correct functionality of messaging • Message validation • Schema evolution
  • 49. Copyright © by HiveMQ. All Rights Reserved. Local Schema Registry
  • 50. Copyright © by HiveMQ. All Rights Reserved. Support of Schema Registries Apache Kafka ● Kafka does not care about message formats ● No verification of message correctness ● Systems are evolving and message formats will change ● Support of Local Schema Registry ○ JSON and Avro messages ○ Message validation ● Support of Confluent Schema Registry ○ Avro messages ○ Message validation ○ Schema evolution Schema Registries • Guarantee the correct functionality of messaging • Message validation • Schema evolution
  • 51. Copyright © by HiveMQ. All Rights Reserved. Confluent Schema Registry
  • 52. Copyright © by HiveMQ. All Rights Reserved. Observability of Communication
  • 53. Copyright © by HiveMQ. All Rights Reserved. ● Connect millions of IoT devices, over unreliable networks, to seamlessly send data to one or multiple Kafka clusters ● Route IoT device data to multiple Kafka clusters allowing for a single IoT platform to support different types of devices and forward device data to different back-end applications ● Poll information from one or multiple Kafka clusters and distribute this information to millions of IoT devices ● Support of all MQTT 3.1.1 and MQTT 5 features ● Map millions of MQTT topics to a limited number of Kafka topics using MQTT wildcards ● Enable end to-end persistent messaging guarantees from device to Kafka so no messages are lost ● Monitor MQTT messages written to Kafka using the HiveMQ Control Center
  • 54. Copyright © by HiveMQ. All Rights Reserved. Demo
  • 55. Copyright © by HiveMQ. All Rights Reserved. HiveMQ Enterprise Extension for Kafka - Demo Mobile Application sensor-data Stream processing using KSQL Other Backend Systems MQTT to Kafka Kafka to MQTT 100 simulated cars Confluent Schema Registry Get Schema alert
  • 56. Copyright © by HiveMQ. All Rights Reserved.
  • 57. Copyright © by HiveMQ. All Rights Reserved. Resources MQTT Essentials Series Evaluate HiveMQ Broker Try HiveMQ Cloud Get Started with MQTT MQTT at OASIS
  • 58. ANY QUESTIONS? Reach out to community.hivemq.com