An Introduction To Apache Kafka
An Introduction To Apache Kafka
Apache Kafka®
This is event-streaming, not just messaging
Kate Stanley
Source: A commissioned study conducted by Forrester Consulting on behalf of IBM, September 2016 © 2019 IBM Corporation
Typical Event-driven Use Case | Customer Satisfaction
Source: Gartner May 2017, “CIO Challenge: Adopt Event-Centric IT for Digital Business Success ”
© 2019 IBM Corporation
Event-Driven in Action
Getting data to where it’s needed, before it’s needed
Respond to events before the Responsive & personalised Bring real time intelligence to
moment passes customer experiences your apps
App
Event Backbone
1
Building Blocks
1 :: Event Sources
2 App
2 :: Stream Processing
3 :: Event Archive
4 :: Notifications
© 2019 IBM Corporation
Key Use Cases
Event Backbone
Event Backbone
ML
AP
I
MESSAGE QUEUING
Transient data
persistence
Request / Reply
✓
Targeted reliable
delivery
EVENT STREAMING
0 1 2 3 4 5
Offset(s)
TOPIC
PARTITION 0 0 1 2 3 4 5 6 7
PARTITION 1 0 1 2 3 4 5
PARTITION 2 0 1 2 3 4 5
0
Fire-and-forget
TOPIC Fast, but risky
0 1 2 3 4 5
Producer can choose whether to retry:
PARTITION 1
Do not retry
0
Loses messages on error
Retry
>0
PARTITION 2 0 1 2 3 4 5 Retry, might result in duplicates on error
Automatic
Commits might go faster than
processing
Manual,
0 1 2 3 4 5 6 synchronous Safe, but slows down processing
CONSUMER
PARTITION 1 0 1 2 3
CONSUMER GROUP A
Over 80 connectors
HDFS
Elasticsearch
MySQL
JDBC
IBM MQ
MQTT
CoAP
+ many others
This is a message
This is another message
This is a message
This is another message