SlideShare a Scribd company logo
Kafka Streams
Quando streams encontram tabelas
Cristiano Altmann
Arquiteto Software
https://www.linkedin.com/in/crisaltmann/
Matheus Alagia
Eng. de Computação
https://www.linkedin.com/in/matheusalagia/
https://ubots.com.br
Microservices
Independent deploy
Low coupling
Horizontal Scalability
Technological choices
Business time
Independent teams
Technological
evolution
Resilient
Microservices is really just distributed
systems!
Increasingly we build ecosystem
The Hardest Part About Microservices:
Your Data
Pessoa Conta Corrente
CPF,
Nome,
Endereço,
Renda, etc.
Número conta,
Tipo,
Lançamentos,
etc
Services with different database
Pessoa Conta Corrente
CPF,
Nome,
Endereço,
Renda, etc.
Número conta,
Tipo,
Lançamentos,
etc
Relatório
CPF, Nome,
Número Conta,
Lançamentos
Services with different database
Pessoa Conta Corrente
CPF,
Nome,
Endereço,
Renda, etc.
Número conta,
Tipo,
Lançamentos,
etc
Relatório
CPF, Nome,
Número
Conta,
Lançamentos
REST
Pessoa Conta Corrente
CPF,
Nome,
Endereço,
Renda, etc.
Número conta,
Tipo,
Lançamentos,
etc
Relatório
CPF, Nome,
Número
Conta,
Lançamentos
Database integration
Pessoa
Relatório
Services with different database
Conta Cartão Previdência Título Serasa Crédito
Streaming processing can be the
answer...
What is Streaming Processing?
“Is some kind of computation over a Data Stream. First and foremost, a data
stream is an abstraction representing an unbounded dataset. Unbounded means
infinite and ever growing.”
Kafka: The Definitive Guide
Streaming processing examples
FILTER
MAP
Stream processing is a programming paradigm...
Request-Response Batch ProcessingStreaming
Processing
Throughput
Latency
The world always changes, and sometimes we are interested
in the events that caused those changes, whereas other
times we are interested in the current state of the world….
Stream-Table Duality
Stream-Table Duality Example
LANÇAMENTOS CONTA CORRENTE
Conta: 1
Valor: 100
Conta: 1
Valor: 200
Conta: 5
Valor: 200
Conta: 1
Valor: -50
Stream-Table Duality Example
LANÇAMENTOS CONTA CORRENTE
Conta: 1
Valor: 100
Conta: 1
Valor: 200
Conta: 5
Valor: 200
Conta: 1
Valor: -50
1: 250
5: 200
Systems that allow you to transition back and forth between
the two ways of looking at data are more powerful than
systems that support just one.
- Neha Narkhede (Kafka: The definitive guide)
Kafka vs Kafka Stream
● Distributed log
● High available
● ⅓ Fortune 500
● APIS:
○ Producer
○ Consumer
○ Connect
○ Streams
● Part of Kafka ecosystem
● Just a lib
● Simple API
● DSL
Stream-Processing Design Patterns
Single-Event Processing
FILTER
Code
External Lookup: Stream-Table Join
Processing with Local State
Mantra: Stateless
Service
Client
STATELESS
STATE STORAGE
??
?
Stateless is good!!
● Services start instantly
● Thread safe
● Scaled out linearly
● Not shared state
But sometimes we need state….
Moving the state to a database just push the
problem to another layer.
[Meetup ms] Kafka Streams
Statefull can be good too...
● Services start rapidly
● Thread safe
● Scaled out linearly
● Not shared state
KAFKA STREAMS
● Services start rapidly V
● Thread safe V
● Scaled out linearly V
● Not shared state V
● HIGH THROUGHPUT
[Meetup ms] Kafka Streams
Stream
Table
Stream
[Meetup ms] Kafka Streams
Stream-Processing Concepts
Time
Event time
Local state
Log append time
State
Processing time
External state
Time Windows
Slide window
Tumbling window
Hopping Window
Stream-Processing Concepts
Time
Event time
Local state
Log append time
State
Processing time
External state
Time Windows
Slide window
Tumbling window
Hopping Window
Stream-Processing Concepts
Time
Event time
Local state
Log append time
State
Processing time
External state
Time Windows
Slide window
Tumbling window
Hopping Window
Join
● Stream - Stream
● Stream - Table
● Table - Table
Stream - Stream (Windowed-join)
Stream - Table
Under the wood
Under the wood
Under the wood
Stream-Processing Landscape
[Meetup ms] Kafka Streams
Conclusion
● Stream processing is a powerful tool
● Kafka Streams is simple
● Designed for microservices
Obrigado!
Perguntas?

More Related Content

What's hot (20)

PPTX
Flink Forward Berlin 2018: Timo Walther - "Flink SQL in Action"
Flink Forward
 
PDF
Building Event Streaming Applications with Pac-Man (Ricardo Ferreira, Conflue...
HostedbyConfluent
 
PPTX
Stream Processing Live Traffic Data with Kafka Streams
Tom Van den Bulck
 
PDF
uReplicator: Uber Engineering’s Scalable, Robust Kafka Replicator
Michael Hongliang Xu
 
PDF
Moving RDF Stream Processing to the Client
Ruben Taelman
 
PDF
On Track with Apache Kafka®: Building a Streaming ETL Solution with Rail Data
confluent
 
PDF
Kafka, Killer of Point-to-Point Integrations, Lucian Lita
confluent
 
PDF
Matching the Scale at Tinder with Kafka
confluent
 
PDF
Navigate Data Service using AWS
Arno Broekhof
 
PPTX
Big Data Analytics Infrastructure
Min Zhou
 
PDF
The Future of Streaming: Global Apps, Event Stores and Serverless
Ben Stopford
 
PDF
Flink Forward Berlin 2018: Xiaowei Jiang - Keynote: "Unified Engine for Data ...
Flink Forward
 
PPTX
Kafka Practices @ Uber - Seattle Apache Kafka meetup
Mingmin Chen
 
PDF
Geo-Trending Example
David E Drummond
 
PDF
Scalable Dynamic Data Consumption on the Web
Ruben Taelman
 
PPTX
Realtime stream processing with kafka
Praveen Singh Bora
 
PDF
Flink Forward Berlin 2018: Raj Subramani - "A streaming Quantitative Analytic...
Flink Forward
 
PDF
Hadoop summit - Scaling Uber’s Real-Time Infra for Trillion Events per Day
Ankur Bansal
 
PDF
Observability for developer ( Inny So & Andrew Jones, ThoughtWorks) Kafka Su...
confluent
 
PDF
Stream Patterns
Diego Pacheco
 
Flink Forward Berlin 2018: Timo Walther - "Flink SQL in Action"
Flink Forward
 
Building Event Streaming Applications with Pac-Man (Ricardo Ferreira, Conflue...
HostedbyConfluent
 
Stream Processing Live Traffic Data with Kafka Streams
Tom Van den Bulck
 
uReplicator: Uber Engineering’s Scalable, Robust Kafka Replicator
Michael Hongliang Xu
 
Moving RDF Stream Processing to the Client
Ruben Taelman
 
On Track with Apache Kafka®: Building a Streaming ETL Solution with Rail Data
confluent
 
Kafka, Killer of Point-to-Point Integrations, Lucian Lita
confluent
 
Matching the Scale at Tinder with Kafka
confluent
 
Navigate Data Service using AWS
Arno Broekhof
 
Big Data Analytics Infrastructure
Min Zhou
 
The Future of Streaming: Global Apps, Event Stores and Serverless
Ben Stopford
 
Flink Forward Berlin 2018: Xiaowei Jiang - Keynote: "Unified Engine for Data ...
Flink Forward
 
Kafka Practices @ Uber - Seattle Apache Kafka meetup
Mingmin Chen
 
Geo-Trending Example
David E Drummond
 
Scalable Dynamic Data Consumption on the Web
Ruben Taelman
 
Realtime stream processing with kafka
Praveen Singh Bora
 
Flink Forward Berlin 2018: Raj Subramani - "A streaming Quantitative Analytic...
Flink Forward
 
Hadoop summit - Scaling Uber’s Real-Time Infra for Trillion Events per Day
Ankur Bansal
 
Observability for developer ( Inny So & Andrew Jones, ThoughtWorks) Kafka Su...
confluent
 
Stream Patterns
Diego Pacheco
 

Similar to [Meetup ms] Kafka Streams (20)

PDF
Kafka Streams
Cristiano Altmann
 
ODP
Stream processing using Kafka
Knoldus Inc.
 
PPTX
Kafka Streams for Java enthusiasts
Slim Baltagi
 
PDF
Streaming Solutions for Real time problems
Abhishek Gupta
 
PPTX
Apache Kafka Streams
Apache Kafka TLV
 
PDF
Microservices for a Streaming World
Ben Stopford
 
PDF
Spark (Structured) Streaming vs. Kafka Streams
Guido Schmutz
 
PDF
Kafka Streams: the easiest way to start with stream processing
Yaroslav Tkachenko
 
PDF
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Guido Schmutz
 
PPTX
Apache kafka
Daan Gerits
 
PDF
Streaming, Database & Distributed Systems Bridging the Divide
Ben Stopford
 
PDF
How to Build Streaming Apps with Confluent II
confluent
 
PPTX
Introducing Apache Kafka's Streams API - Kafka meetup Munich, Jan 25 2017
Michael Noll
 
PDF
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Guido Schmutz
 
PPTX
Building streaming data applications using Kafka*[Connect + Core + Streams] b...
Data Con LA
 
PDF
Streaming all over the world Real life use cases with Kafka Streams
confluent
 
PDF
Data Streaming in Kafka
SilviuMarcu1
 
PDF
ksqlDB Workshop
confluent
 
PDF
Introduction to Kafka Streams - Knolx.pdf
Knoldus Inc.
 
PDF
Streaming Analytics
Neera Agarwal
 
Kafka Streams
Cristiano Altmann
 
Stream processing using Kafka
Knoldus Inc.
 
Kafka Streams for Java enthusiasts
Slim Baltagi
 
Streaming Solutions for Real time problems
Abhishek Gupta
 
Apache Kafka Streams
Apache Kafka TLV
 
Microservices for a Streaming World
Ben Stopford
 
Spark (Structured) Streaming vs. Kafka Streams
Guido Schmutz
 
Kafka Streams: the easiest way to start with stream processing
Yaroslav Tkachenko
 
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Guido Schmutz
 
Apache kafka
Daan Gerits
 
Streaming, Database & Distributed Systems Bridging the Divide
Ben Stopford
 
How to Build Streaming Apps with Confluent II
confluent
 
Introducing Apache Kafka's Streams API - Kafka meetup Munich, Jan 25 2017
Michael Noll
 
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Guido Schmutz
 
Building streaming data applications using Kafka*[Connect + Core + Streams] b...
Data Con LA
 
Streaming all over the world Real life use cases with Kafka Streams
confluent
 
Data Streaming in Kafka
SilviuMarcu1
 
ksqlDB Workshop
confluent
 
Introduction to Kafka Streams - Knolx.pdf
Knoldus Inc.
 
Streaming Analytics
Neera Agarwal
 
Ad

Recently uploaded (20)

PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
July Patch Tuesday
Ivanti
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
Ad

[Meetup ms] Kafka Streams