SlideShare a Scribd company logo
BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF
HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH
Apache Kafka
Scalable Message Processing and more!
Guido Schmutz
@gschmutz guidoschmutz.wordpress.com
Guido Schmutz
Working at Trivadis for more than 20 years
Oracle ACE Director for Fusion Middleware and SOA
Consultant, Trainer Software Architect for Java, Oracle, SOA and
Big Data / Fast Data
Member of Trivadis Architecture Board
Technology Manager @ Trivadis
More than 30 years of software development experience
Contact: guido.schmutz@trivadis.com
Blog: http://guidoschmutz.wordpress.com
Slideshare: http://www.slideshare.net/gschmutz
Twitter: gschmutz
2 8.12.2016 Big Data & Fast Data
Agenda
1. Introduction & Motivation
2. Kafka Core
3. Kafka Connect
4. Kafka Streams
5. Kafka and ”Big Data” / ”Fast Data” Ecosystem
6. Confluent Data Platform
7. Summary
Apache Kafka - Scalable Message Processing and more!3
Introduction & Motivation
Apache Kafka - Scalable Message Processing and more!4
Hadoop Clusterd
Hadoop Cluster
Big Data Cluster
Traditional Big Data Architecture
BI	Tools
Enterprise Data
Warehouse
Billing &
Ordering
CRM /
Profile
Marketing
Campaigns
File Import / SQL Import
SQL
Search
Online	&	Mobile	
Apps
Search
NoSQL
Parallel
Processing
Distributed
Filesystem
• Machine	Learning
• Graph	Algorithms
• Natural	Language	Processing
Event
Hub
Event
Hub
Hadoop Clusterd
Hadoop Cluster
Big Data Cluster
Event Hub – handle event stream data
BI	Tools
Enterprise Data
Warehouse
Location
Social
Click
stream
Sensor
Data
Billing &
Ordering
CRM /
Profile
Marketing
Campaigns
Event
Hub
Call
Center
Weather
Data
Mobile
Apps
SQL
Search
Online	&	Mobile	
Apps
Search
Data Flow
NoSQL
Parallel
Processing
Distributed
Filesystem
• Machine	Learning
• Graph	Algorithms
• Natural	Language	Processing
Hadoop Clusterd
Hadoop Cluster
Big Data Cluster
Event Hub – taking Velocity into account
Location
Social
Click
stream
Sensor
Data
Billing &
Ordering
CRM /
Profile
Marketing
Campaigns
Call
Center
Mobile
Apps
Batch Analytics
Streaming Analytics
Event
Hub
Event
Hub
Event
Hub
NoSQL
Parallel
Processing
Distributed
Filesystem
Stream Analytics
NoSQL
Reference /
Models
SQL
Search
Dashboard
BI	Tools
Enterprise Data
Warehouse
Search
Online	&	Mobile	
Apps
File Import / SQL Import
Weather
Data
Apache Kafka - Scalable Message Processing and more!7
Kafka Stream Data Platform
Source:	Confluent
Apache Kafka - Scalable Message Processing and more!8
Kafka Core
Apache Kafka - Scalable Message Processing and more!9
Apache Kafka - Overview
Distributed publish-subscribe messaging system
Designed for processing of real time activity stream data (logs, metrics
collections, social media streams, …)
Initially developed at LinkedIn, now part of Apache
Does not use JMS API and standards
Kafka maintains feeds of messages in topics
Apache Kafka - Scalable Message Processing and more!10
Apache Kafka - Motivation
LinkedIn’s motivation for Kafka was:
• “A unified platform for handling all the real-time data feeds a large company might
have.”
Must haves
• High throughput to support high volume event feeds.
• Support real-time processing of these feeds to create new, derived feeds.
• Support large data backlogs to handle periodic ingestion from offline systems.
• Support low-latency delivery to handle more traditional messaging use cases.
• Guarantee fault-tolerance in the presence of machine failures.
Apache Kafka - Scalable Message Processing and more!11
Kafka High Level Architecture
The who is who
• Producers write data to brokers.
• Consumers read data from
brokers.
• All this is distributed.
The data
• Data is stored in topics.
• Topics are split into partitions,
which are replicated.
Kafka Cluster
Consumer Consumer Consumer
Producer Producer Producer
Broker 1 Broker 2 Broker 3
Zookeeper
Ensemble
Apache Kafka - Scalable Message Processing and more!12
Apache Kafka - Architecture
Kafka Broker
Movement
Processor
Movement	Topic
Engine-Metrics	Topic
1 2 3 4 5 6
Engine
Processor1 2 3 4 5 6
Truck
Apache Kafka - Scalable Message Processing and more!13
Apache Kafka - Architecture
Kafka Broker
Movement
Processor
Movement	Topic
Engine-Metrics	Topic
1 2 3 4 5 6
Engine
Processor
Partition	0
1 2 3 4 5 6
Partition	0
1 2 3 4 5 6
Partition	1 Movement
Processor
Truck
Apache Kafka - Scalable Message Processing and more!14
Apache
Kafka
Kafka Broker 1
Movement
Processor
Truck
Movement	Topic
P	0
Movement
Processor
1 2 3 4 5
P	2 1 2 3 4 5
Kafka Broker 2
Movement	Topic
P	2 1 2 3 4 5
P	1 1 2 3 4 5
Kafka Broker 3
Movement	Topic
P	0 1 2 3 4 5
P	1 1 2 3 4 5
Movement
Processor
Apache Kafka - Scalable Message Processing and more!15
Apache Kafka - Architecture
• Write Ahead Log / Commit Log
• Producers always append to tail
• think append to file
Kafka Broker
Movement	Topic
1 2 3 4 5
Truck
6 6
Apache Kafka - Scalable Message Processing and more!16
Durability Guarantees
Producer can configure acknowledgements
Value Impact Durability
0 • Producer	doesn’t	wait	for	leader weak
1	(default) • Producer	waits	for	leader
• Leader	sends ack when	message	written	to	log
• No	wait	for	followers
medium
all • Producer	waits	for	leader
• Leader	sends	ack when all	In-Sync	Replica	have	
acknowledged
strong
Apache Kafka - Scalable Message Processing and more!17
Apache Kafka - Partition offsets
Offset: messages in the partitions are each assigned a unique (per partition) and
sequential id called the offset
• Consumers track their pointers via (offset, partition, topic) tuples
Consumer	Group	A Consumer	Group	B
Apache Kafka - Scalable Message Processing and more!18
Source:	Apache	Kafka
Data Retention – 3 options
1. Never
2. Time based (TTL)
log.retention.{ms | minutes | hours}
3. Size based
log.retention.bytes
4. Log compaction based (entries with same key are removed)
kafka-topics.sh --zookeeper localhost:2181 
--create --topic customers 
--replication-factor 1 --partitions 1 
--config cleanup.policy=compact
Apache Kafka - Scalable Message Processing and more!19
Apache Kafka – Some numbers
Kafka at LinkedIn => over 1800+ broker machines / 79K+ Topics
Kafka Performance at our own infrastructure => 6 brokers (VM) / 1 cluster
• 445’622 messages/second
• 31 MB / second
• 3.0405 ms average latency between producer / consumer
1.3	Trillion	messages	per	
day
330	Terabytes	in/day
1.2	Petabytes	out/day
Peak	load	for	a	single	cluster
2	million	messages/sec
4.7	Gigabits/sec	inbound
15	Gigabits/sec	outbound
http://engineering.linkedin.com/kafka/benchmarking-apache-kafka-2-million-writes-second-three-cheap-machines
https://engineering.linkedin.com/kafka/running-kafka-scale
Apache Kafka - Scalable Message Processing and more!20
Kafka Topics
Creating a topic
• Command line interface
• Using AdminUtils.createTopic method
• Auto-create via auto.create.topics.enable = true
Modifying a topic
https://kafka.apache.org/documentation.html#basic_ops_modify_topic
Deleting a topic
• Command Line interface
$ kafka-topics.sh –zookeeper zk1:2181 --create 
--topic my.topic –-partitions 3 
–-replication-factor 2 --config x=y
Apache Kafka - Scalable Message Processing and more!21
Inspecting the current state of a topic
Use the --describe option
• Leader: brokerID of the currently elected leader broker
• Replica ID’s = broker ID’s
• ISR = “in-sync replica”, replicas that are in sync with the leader. In this example:
• Broker 0 is leader for partition 1.
• Broker 1 is leader for partitions 0 and 2.
• All replicas are in-sync with their respective leader partitions.
$ kafka-topics.sh –zookeeper zk1:2181 –-describe --topic my.topic
Topic:zerg2.hydra PartitionCount:3 ReplicationFactor:2 Configs:
Topic: my.topic Partition: 0 Leader: 1 Replicas: 1,0 Isr: 1,0
Topic: my.topic Partition: 1 Leader: 0 Replicas: 0,1 Isr: 0,1
Topic: my.topic Partition: 2 Leader: 1 Replicas: 1,0 Isr: 1,0
Apache Kafka - Scalable Message Processing and more!22
Kafka Connect
Apache Kafka - Scalable Message Processing and more!23
Kafka Connect Architecture
Apache Kafka - Scalable Message Processing and more!24
Source:	Confluent
Kafka Connector Hub – Certified Connectors
Source:	http://www.confluent.io/product/connectors
Apache Kafka - Scalable Message Processing and more!25
Kafka Connector Hub – Additional Connectors
Source:	http://www.confluent.io/product/connectors
Apache Kafka - Scalable Message Processing and more!26
Kafka Streams
Apache Kafka - Scalable Message Processing and more!27
Kafka Streams
• Designed as a simple and lightweight library in Apache Kafka
• no external dependencies on systems other than Apache Kafka
• Leverages Kafka as its internal messaging layer
• agnostic to resource management and configuration tools
• Supports fault-tolerant local state
• Event-at-a-time processing (not microbatch) with millisecond latency
• Windowing with out-of-order data using a Google DataFlow-like model
Apache Kafka - Scalable Message Processing and more!28
Kafka Streams - Architecture
Apache Kafka - Scalable Message Processing and more!29
topology defines the stream
processing computational logic for
your application
topology is a graph of stream
processors (nodes) that are
connected by streams (edges)
source processor is a stream
processor that does not have any
upstream processors
sink processor is a special type
of stream processor that does not
have down-stream processors.
Source:	Confluent
Kafka Streams - Processor Topology
Apache Kafka - Scalable Message Processing and more!30
topology defines the stream processing
computational logic for your application
topology is a graph of stream processors
(nodes) that are connected by streams (edges)
source processor is a stream processor that
does not have any upstream processors.
Consumes one or Kafka topics.
sink processor is a special type of stream
processor that does not have down-stream
processors. Produces to a single Kafka topic.
Source:	Confluent
Kafka and ”Big Data” / ”Fast Data”
Ecosystem
Apache Kafka - Scalable Message Processing and more!31
Kafka and the Big Data / Fast Data ecosystem
Kafka integrates with many popular
products / frameworks
• Apache Spark Streaming
• Apache Flink
• Apache Storm
• Apache NiFi
• Streamsets
• Apache Flume
• Oracle Stream Analytics
• Oracle Service Bus
• Oracle GoldenGate
• Spring Integration Kafka Support
• …Storm	built-in	Kafka	Spout	to	consume	events	from	Kafka
Apache Kafka - Scalable Message Processing and more!32
Confluent Platform
Apache Kafka - Scalable Message Processing and more!33
Confluent Data Platform 3.1
Apache Kafka - Scalable Message Processing and more!34
Source:	Confluent
Summary
Apache Kafka - Scalable Message Processing and more!35
Weather
Data
SQL Import
Hadoop Clusterd
Hadoop Cluster
Hadoop Cluster
Location
Social
Click
stream
Sensor
Data
Billing &
Ordering
CRM /
Profile
Marketing
Campaigns
Call
Center
Mobile
Apps
Batch Analytics
Streaming Analytics
Event
Hub
Event
Hub
Event
Hub
NoSQL
Parallel
Processing
Distributed
Filesystem
Stream Analytics
NoSQL
Reference /
Models
SQL
Search
Dashboard
BI	Tools
Enterprise Data
Warehouse
Search
Online	&	Mobile	
Apps
Customer Event Hub – mapping of technologies
Apache Kafka - Scalable Message Processing and more!36
Summary
• Kafka can scale to millions of messages per second, and more
• Easy to start with for a PoC
• A bit more to invest to setup production environment
• Monitoring is key
• Vibrant community and ecosystem
• Fast pace technology
• Confluent provides Kafka Distribution
Apache Kafka - Scalable Message Processing and more!37
Guido Schmutz
Technology Manager
guido.schmutz@trivadis.com
Apache Kafka - Scalable Message Processing and more!38
@gschmutz guidoschmutz.wordpress.com

More Related Content

What's hot (20)

PDF
Kafka Connect & Kafka Streams/KSQL - powerful ecosystem around Kafka core
Guido Schmutz
 
PDF
Self-Service Data Ingestion Using NiFi, StreamSets & Kafka
Guido Schmutz
 
PDF
Streaming Visualization
Guido Schmutz
 
PDF
Microservices with Kafka Ecosystem
Guido Schmutz
 
PDF
Big Data - in the cloud or rather on-premises?
Guido Schmutz
 
PDF
Ingesting streaming data into Graph Database
Guido Schmutz
 
PDF
Apache Kafka Scalable Message Processing and more!
Guido Schmutz
 
PDF
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Guido Schmutz
 
PDF
Kafka as your Data Lake - is it Feasible?
Guido Schmutz
 
PDF
Apache Kafka - A modern Stream Processing Platform
Guido Schmutz
 
PDF
Apache Kafka - Scalable Message-Processing and more !
Guido Schmutz
 
PDF
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Guido Schmutz
 
PDF
Introduction to Streaming Analytics
Guido Schmutz
 
PPTX
Kafka for data scientists
Jenn Rawlins
 
PDF
dotScale 2017 Keynote: The Rise of Real Time by Neha Narkhede
confluent
 
PDF
Big Data Architectures @ JAX / BigDataCon 2016
Guido Schmutz
 
PDF
Fast data for fitness 10 nov 2020
Timothy Spann
 
PDF
Evolving from Messaging to Event Streaming
confluent
 
PDF
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Guido Schmutz
 
PDF
Building event-driven (Micro)Services with Apache Kafka
Guido Schmutz
 
Kafka Connect & Kafka Streams/KSQL - powerful ecosystem around Kafka core
Guido Schmutz
 
Self-Service Data Ingestion Using NiFi, StreamSets & Kafka
Guido Schmutz
 
Streaming Visualization
Guido Schmutz
 
Microservices with Kafka Ecosystem
Guido Schmutz
 
Big Data - in the cloud or rather on-premises?
Guido Schmutz
 
Ingesting streaming data into Graph Database
Guido Schmutz
 
Apache Kafka Scalable Message Processing and more!
Guido Schmutz
 
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Guido Schmutz
 
Kafka as your Data Lake - is it Feasible?
Guido Schmutz
 
Apache Kafka - A modern Stream Processing Platform
Guido Schmutz
 
Apache Kafka - Scalable Message-Processing and more !
Guido Schmutz
 
Apache Kafka - Event Sourcing, Monitoring, Librdkafka, Scaling & Partitioning
Guido Schmutz
 
Introduction to Streaming Analytics
Guido Schmutz
 
Kafka for data scientists
Jenn Rawlins
 
dotScale 2017 Keynote: The Rise of Real Time by Neha Narkhede
confluent
 
Big Data Architectures @ JAX / BigDataCon 2016
Guido Schmutz
 
Fast data for fitness 10 nov 2020
Timothy Spann
 
Evolving from Messaging to Event Streaming
confluent
 
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Guido Schmutz
 
Building event-driven (Micro)Services with Apache Kafka
Guido Schmutz
 

Similar to Apache Kafka - Scalable Message-Processing and more ! (20)

PDF
Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...
Trivadis
 
PPT
Kafka Explainaton
NguyenChiHoangMinh
 
PPTX
Apache kafka
Kumar Shivam
 
PDF
Apache kafka
NexThoughts Technologies
 
PPTX
Introduction to Kafka Streams Presentation
Knoldus Inc.
 
PPTX
Being Ready for Apache Kafka - Apache: Big Data Europe 2015
Michael Noll
 
PPTX
Kafka Streams for Java enthusiasts
Slim Baltagi
 
PPTX
Building streaming data applications using Kafka*[Connect + Core + Streams] b...
Data Con LA
 
PDF
Building Streaming Data Applications Using Apache Kafka
Slim Baltagi
 
PDF
Fundamentals of Apache Kafka
Chhavi Parasher
 
PPTX
Apache Kafka
Joe Stein
 
PDF
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
Kai Wähner
 
PPTX
Apache Kafka 0.8 basic training - Verisign
Michael Noll
 
PDF
OSSNA Building Modern Data Streaming Apps
Timothy Spann
 
PPTX
Building Event-Driven Systems with Apache Kafka
Brian Ritchie
 
PPTX
Real-Time Log Analysis with Apache Mesos, Kafka and Cassandra
Joe Stein
 
PDF
Lessons Learned: Using Spark and Microservices
Alexis Seigneurin
 
PDF
Kafka Summit NYC 2017 Introduction to Kafka Streams with a Real-life Example
confluent
 
PDF
Kafka Connect & Kafka Streams/KSQL - the ecosystem around Kafka
Guido Schmutz
 
PDF
Apache Kafka DC Meetup: Replicating DB Binary Logs to Kafka
Mark Bittmann
 
Trivadis TechEvent 2016 Apache Kafka - Scalable Massage Processing and more! ...
Trivadis
 
Kafka Explainaton
NguyenChiHoangMinh
 
Apache kafka
Kumar Shivam
 
Introduction to Kafka Streams Presentation
Knoldus Inc.
 
Being Ready for Apache Kafka - Apache: Big Data Europe 2015
Michael Noll
 
Kafka Streams for Java enthusiasts
Slim Baltagi
 
Building streaming data applications using Kafka*[Connect + Core + Streams] b...
Data Con LA
 
Building Streaming Data Applications Using Apache Kafka
Slim Baltagi
 
Fundamentals of Apache Kafka
Chhavi Parasher
 
Apache Kafka
Joe Stein
 
Confluent REST Proxy and Schema Registry (Concepts, Architecture, Features)
Kai Wähner
 
Apache Kafka 0.8 basic training - Verisign
Michael Noll
 
OSSNA Building Modern Data Streaming Apps
Timothy Spann
 
Building Event-Driven Systems with Apache Kafka
Brian Ritchie
 
Real-Time Log Analysis with Apache Mesos, Kafka and Cassandra
Joe Stein
 
Lessons Learned: Using Spark and Microservices
Alexis Seigneurin
 
Kafka Summit NYC 2017 Introduction to Kafka Streams with a Real-life Example
confluent
 
Kafka Connect & Kafka Streams/KSQL - the ecosystem around Kafka
Guido Schmutz
 
Apache Kafka DC Meetup: Replicating DB Binary Logs to Kafka
Mark Bittmann
 
Ad

More from Guido Schmutz (20)

PDF
30 Minutes to the Analytics Platform with Infrastructure as Code
Guido Schmutz
 
PDF
Event Broker (Kafka) in a Modern Data Architecture
Guido Schmutz
 
PDF
Big Data, Data Lake, Fast Data - Dataserialiation-Formats
Guido Schmutz
 
PDF
ksqlDB - Stream Processing simplified!
Guido Schmutz
 
PDF
Event Hub (i.e. Kafka) in Modern Data Architecture
Guido Schmutz
 
PDF
Event Hub (i.e. Kafka) in Modern Data (Analytics) Architecture
Guido Schmutz
 
PDF
Building Event Driven (Micro)services with Apache Kafka
Guido Schmutz
 
PDF
Location Analytics - Real-Time Geofencing using Apache Kafka
Guido Schmutz
 
PDF
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafka
Guido Schmutz
 
PDF
What is Apache Kafka? Why is it so popular? Should I use it?
Guido Schmutz
 
PDF
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Guido Schmutz
 
PDF
Location Analytics Real-Time Geofencing using Kafka
Guido Schmutz
 
PDF
Streaming Visualisation
Guido Schmutz
 
PDF
Kafka as an event store - is it good enough?
Guido Schmutz
 
PDF
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Guido Schmutz
 
PDF
Fundamentals Big Data and AI Architecture
Guido Schmutz
 
PDF
Location Analytics - Real-Time Geofencing using Kafka
Guido Schmutz
 
PDF
Streaming Visualization
Guido Schmutz
 
PDF
Streaming Visualization
Guido Schmutz
 
PDF
Location Analytics - Real Time Geofencing using Apache Kafka
Guido Schmutz
 
30 Minutes to the Analytics Platform with Infrastructure as Code
Guido Schmutz
 
Event Broker (Kafka) in a Modern Data Architecture
Guido Schmutz
 
Big Data, Data Lake, Fast Data - Dataserialiation-Formats
Guido Schmutz
 
ksqlDB - Stream Processing simplified!
Guido Schmutz
 
Event Hub (i.e. Kafka) in Modern Data Architecture
Guido Schmutz
 
Event Hub (i.e. Kafka) in Modern Data (Analytics) Architecture
Guido Schmutz
 
Building Event Driven (Micro)services with Apache Kafka
Guido Schmutz
 
Location Analytics - Real-Time Geofencing using Apache Kafka
Guido Schmutz
 
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafka
Guido Schmutz
 
What is Apache Kafka? Why is it so popular? Should I use it?
Guido Schmutz
 
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Guido Schmutz
 
Location Analytics Real-Time Geofencing using Kafka
Guido Schmutz
 
Streaming Visualisation
Guido Schmutz
 
Kafka as an event store - is it good enough?
Guido Schmutz
 
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Guido Schmutz
 
Fundamentals Big Data and AI Architecture
Guido Schmutz
 
Location Analytics - Real-Time Geofencing using Kafka
Guido Schmutz
 
Streaming Visualization
Guido Schmutz
 
Streaming Visualization
Guido Schmutz
 
Location Analytics - Real Time Geofencing using Apache Kafka
Guido Schmutz
 
Ad

Recently uploaded (20)

PDF
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
PDF
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
🚀 Let’s Build Our First Slack Workflow! 🔧.pdf
SanjeetMishra29
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
“NPU IP Hardware Shaped Through Software and Use-case Analysis,” a Presentati...
Edge AI and Vision Alliance
 
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
The 2025 InfraRed Report - Redpoint Ventures
Razin Mustafiz
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
Digital Circuits, important subject in CS
contactparinay1
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
🚀 Let’s Build Our First Slack Workflow! 🔧.pdf
SanjeetMishra29
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 

Apache Kafka - Scalable Message-Processing and more !

  • 1. BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENF HAMBURG KOPENHAGEN LAUSANNE MÜNCHEN STUTTGART WIEN ZÜRICH Apache Kafka Scalable Message Processing and more! Guido Schmutz @gschmutz guidoschmutz.wordpress.com
  • 2. Guido Schmutz Working at Trivadis for more than 20 years Oracle ACE Director for Fusion Middleware and SOA Consultant, Trainer Software Architect for Java, Oracle, SOA and Big Data / Fast Data Member of Trivadis Architecture Board Technology Manager @ Trivadis More than 30 years of software development experience Contact: [email protected] Blog: http://guidoschmutz.wordpress.com Slideshare: http://www.slideshare.net/gschmutz Twitter: gschmutz 2 8.12.2016 Big Data & Fast Data
  • 3. Agenda 1. Introduction & Motivation 2. Kafka Core 3. Kafka Connect 4. Kafka Streams 5. Kafka and ”Big Data” / ”Fast Data” Ecosystem 6. Confluent Data Platform 7. Summary Apache Kafka - Scalable Message Processing and more!3
  • 4. Introduction & Motivation Apache Kafka - Scalable Message Processing and more!4
  • 5. Hadoop Clusterd Hadoop Cluster Big Data Cluster Traditional Big Data Architecture BI Tools Enterprise Data Warehouse Billing & Ordering CRM / Profile Marketing Campaigns File Import / SQL Import SQL Search Online & Mobile Apps Search NoSQL Parallel Processing Distributed Filesystem • Machine Learning • Graph Algorithms • Natural Language Processing
  • 6. Event Hub Event Hub Hadoop Clusterd Hadoop Cluster Big Data Cluster Event Hub – handle event stream data BI Tools Enterprise Data Warehouse Location Social Click stream Sensor Data Billing & Ordering CRM / Profile Marketing Campaigns Event Hub Call Center Weather Data Mobile Apps SQL Search Online & Mobile Apps Search Data Flow NoSQL Parallel Processing Distributed Filesystem • Machine Learning • Graph Algorithms • Natural Language Processing
  • 7. Hadoop Clusterd Hadoop Cluster Big Data Cluster Event Hub – taking Velocity into account Location Social Click stream Sensor Data Billing & Ordering CRM / Profile Marketing Campaigns Call Center Mobile Apps Batch Analytics Streaming Analytics Event Hub Event Hub Event Hub NoSQL Parallel Processing Distributed Filesystem Stream Analytics NoSQL Reference / Models SQL Search Dashboard BI Tools Enterprise Data Warehouse Search Online & Mobile Apps File Import / SQL Import Weather Data Apache Kafka - Scalable Message Processing and more!7
  • 8. Kafka Stream Data Platform Source: Confluent Apache Kafka - Scalable Message Processing and more!8
  • 9. Kafka Core Apache Kafka - Scalable Message Processing and more!9
  • 10. Apache Kafka - Overview Distributed publish-subscribe messaging system Designed for processing of real time activity stream data (logs, metrics collections, social media streams, …) Initially developed at LinkedIn, now part of Apache Does not use JMS API and standards Kafka maintains feeds of messages in topics Apache Kafka - Scalable Message Processing and more!10
  • 11. Apache Kafka - Motivation LinkedIn’s motivation for Kafka was: • “A unified platform for handling all the real-time data feeds a large company might have.” Must haves • High throughput to support high volume event feeds. • Support real-time processing of these feeds to create new, derived feeds. • Support large data backlogs to handle periodic ingestion from offline systems. • Support low-latency delivery to handle more traditional messaging use cases. • Guarantee fault-tolerance in the presence of machine failures. Apache Kafka - Scalable Message Processing and more!11
  • 12. Kafka High Level Architecture The who is who • Producers write data to brokers. • Consumers read data from brokers. • All this is distributed. The data • Data is stored in topics. • Topics are split into partitions, which are replicated. Kafka Cluster Consumer Consumer Consumer Producer Producer Producer Broker 1 Broker 2 Broker 3 Zookeeper Ensemble Apache Kafka - Scalable Message Processing and more!12
  • 13. Apache Kafka - Architecture Kafka Broker Movement Processor Movement Topic Engine-Metrics Topic 1 2 3 4 5 6 Engine Processor1 2 3 4 5 6 Truck Apache Kafka - Scalable Message Processing and more!13
  • 14. Apache Kafka - Architecture Kafka Broker Movement Processor Movement Topic Engine-Metrics Topic 1 2 3 4 5 6 Engine Processor Partition 0 1 2 3 4 5 6 Partition 0 1 2 3 4 5 6 Partition 1 Movement Processor Truck Apache Kafka - Scalable Message Processing and more!14
  • 15. Apache Kafka Kafka Broker 1 Movement Processor Truck Movement Topic P 0 Movement Processor 1 2 3 4 5 P 2 1 2 3 4 5 Kafka Broker 2 Movement Topic P 2 1 2 3 4 5 P 1 1 2 3 4 5 Kafka Broker 3 Movement Topic P 0 1 2 3 4 5 P 1 1 2 3 4 5 Movement Processor Apache Kafka - Scalable Message Processing and more!15
  • 16. Apache Kafka - Architecture • Write Ahead Log / Commit Log • Producers always append to tail • think append to file Kafka Broker Movement Topic 1 2 3 4 5 Truck 6 6 Apache Kafka - Scalable Message Processing and more!16
  • 17. Durability Guarantees Producer can configure acknowledgements Value Impact Durability 0 • Producer doesn’t wait for leader weak 1 (default) • Producer waits for leader • Leader sends ack when message written to log • No wait for followers medium all • Producer waits for leader • Leader sends ack when all In-Sync Replica have acknowledged strong Apache Kafka - Scalable Message Processing and more!17
  • 18. Apache Kafka - Partition offsets Offset: messages in the partitions are each assigned a unique (per partition) and sequential id called the offset • Consumers track their pointers via (offset, partition, topic) tuples Consumer Group A Consumer Group B Apache Kafka - Scalable Message Processing and more!18 Source: Apache Kafka
  • 19. Data Retention – 3 options 1. Never 2. Time based (TTL) log.retention.{ms | minutes | hours} 3. Size based log.retention.bytes 4. Log compaction based (entries with same key are removed) kafka-topics.sh --zookeeper localhost:2181 --create --topic customers --replication-factor 1 --partitions 1 --config cleanup.policy=compact Apache Kafka - Scalable Message Processing and more!19
  • 20. Apache Kafka – Some numbers Kafka at LinkedIn => over 1800+ broker machines / 79K+ Topics Kafka Performance at our own infrastructure => 6 brokers (VM) / 1 cluster • 445’622 messages/second • 31 MB / second • 3.0405 ms average latency between producer / consumer 1.3 Trillion messages per day 330 Terabytes in/day 1.2 Petabytes out/day Peak load for a single cluster 2 million messages/sec 4.7 Gigabits/sec inbound 15 Gigabits/sec outbound http://engineering.linkedin.com/kafka/benchmarking-apache-kafka-2-million-writes-second-three-cheap-machines https://engineering.linkedin.com/kafka/running-kafka-scale Apache Kafka - Scalable Message Processing and more!20
  • 21. Kafka Topics Creating a topic • Command line interface • Using AdminUtils.createTopic method • Auto-create via auto.create.topics.enable = true Modifying a topic https://kafka.apache.org/documentation.html#basic_ops_modify_topic Deleting a topic • Command Line interface $ kafka-topics.sh –zookeeper zk1:2181 --create --topic my.topic –-partitions 3 –-replication-factor 2 --config x=y Apache Kafka - Scalable Message Processing and more!21
  • 22. Inspecting the current state of a topic Use the --describe option • Leader: brokerID of the currently elected leader broker • Replica ID’s = broker ID’s • ISR = “in-sync replica”, replicas that are in sync with the leader. In this example: • Broker 0 is leader for partition 1. • Broker 1 is leader for partitions 0 and 2. • All replicas are in-sync with their respective leader partitions. $ kafka-topics.sh –zookeeper zk1:2181 –-describe --topic my.topic Topic:zerg2.hydra PartitionCount:3 ReplicationFactor:2 Configs: Topic: my.topic Partition: 0 Leader: 1 Replicas: 1,0 Isr: 1,0 Topic: my.topic Partition: 1 Leader: 0 Replicas: 0,1 Isr: 0,1 Topic: my.topic Partition: 2 Leader: 1 Replicas: 1,0 Isr: 1,0 Apache Kafka - Scalable Message Processing and more!22
  • 23. Kafka Connect Apache Kafka - Scalable Message Processing and more!23
  • 24. Kafka Connect Architecture Apache Kafka - Scalable Message Processing and more!24 Source: Confluent
  • 25. Kafka Connector Hub – Certified Connectors Source: http://www.confluent.io/product/connectors Apache Kafka - Scalable Message Processing and more!25
  • 26. Kafka Connector Hub – Additional Connectors Source: http://www.confluent.io/product/connectors Apache Kafka - Scalable Message Processing and more!26
  • 27. Kafka Streams Apache Kafka - Scalable Message Processing and more!27
  • 28. Kafka Streams • Designed as a simple and lightweight library in Apache Kafka • no external dependencies on systems other than Apache Kafka • Leverages Kafka as its internal messaging layer • agnostic to resource management and configuration tools • Supports fault-tolerant local state • Event-at-a-time processing (not microbatch) with millisecond latency • Windowing with out-of-order data using a Google DataFlow-like model Apache Kafka - Scalable Message Processing and more!28
  • 29. Kafka Streams - Architecture Apache Kafka - Scalable Message Processing and more!29 topology defines the stream processing computational logic for your application topology is a graph of stream processors (nodes) that are connected by streams (edges) source processor is a stream processor that does not have any upstream processors sink processor is a special type of stream processor that does not have down-stream processors. Source: Confluent
  • 30. Kafka Streams - Processor Topology Apache Kafka - Scalable Message Processing and more!30 topology defines the stream processing computational logic for your application topology is a graph of stream processors (nodes) that are connected by streams (edges) source processor is a stream processor that does not have any upstream processors. Consumes one or Kafka topics. sink processor is a special type of stream processor that does not have down-stream processors. Produces to a single Kafka topic. Source: Confluent
  • 31. Kafka and ”Big Data” / ”Fast Data” Ecosystem Apache Kafka - Scalable Message Processing and more!31
  • 32. Kafka and the Big Data / Fast Data ecosystem Kafka integrates with many popular products / frameworks • Apache Spark Streaming • Apache Flink • Apache Storm • Apache NiFi • Streamsets • Apache Flume • Oracle Stream Analytics • Oracle Service Bus • Oracle GoldenGate • Spring Integration Kafka Support • …Storm built-in Kafka Spout to consume events from Kafka Apache Kafka - Scalable Message Processing and more!32
  • 33. Confluent Platform Apache Kafka - Scalable Message Processing and more!33
  • 34. Confluent Data Platform 3.1 Apache Kafka - Scalable Message Processing and more!34 Source: Confluent
  • 35. Summary Apache Kafka - Scalable Message Processing and more!35
  • 36. Weather Data SQL Import Hadoop Clusterd Hadoop Cluster Hadoop Cluster Location Social Click stream Sensor Data Billing & Ordering CRM / Profile Marketing Campaigns Call Center Mobile Apps Batch Analytics Streaming Analytics Event Hub Event Hub Event Hub NoSQL Parallel Processing Distributed Filesystem Stream Analytics NoSQL Reference / Models SQL Search Dashboard BI Tools Enterprise Data Warehouse Search Online & Mobile Apps Customer Event Hub – mapping of technologies Apache Kafka - Scalable Message Processing and more!36
  • 37. Summary • Kafka can scale to millions of messages per second, and more • Easy to start with for a PoC • A bit more to invest to setup production environment • Monitoring is key • Vibrant community and ecosystem • Fast pace technology • Confluent provides Kafka Distribution Apache Kafka - Scalable Message Processing and more!37
  • 38. Guido Schmutz Technology Manager [email protected] Apache Kafka - Scalable Message Processing and more!38 @gschmutz guidoschmutz.wordpress.com