SlideShare a Scribd company logo
1 of 60
#ActiveUIDevoxxUK @lucasjellema
Real Time UI with Apache Kafka
Streaming Analytics of Fast Data and Server Push
Lucas Jellema (CTO AMIS)
@lucasjellema
http://technology.amis.nl
www.amis.nl
<Middleware>
F5
F5
F5
CTRLF5
CTRLF5
CTRLF5
<Middleware>
F5
F5
F5
CTRLF5
CTRLF5
CTRLF5
<Middleware>
F5
F5
F5
CTRLF5
CTRLF5
CTRLF5
FAST DATA AND ACTIVE UI
• Handle [data | event] influx
• Analyze in real time
• Publish findings instantaneously
• Update UI & notify end user immediately
• Convince end user that the UI is (still) active (and no F5 is required)
• Decoupled components
• No data loss when a component is temporarily down
• Scalable with volume of events and of number of clients
API
µ
µ
µ
µ
THE CASE AT HAND
Client
Client
Client
Client
Tweets on #devoxxUK
#java #oraclecode
Show live
tweet feed for
tags
Show live
tweet
aggregates
per tag
Allow users to
like tweets –
and show live
list of liked
tweets
Show a live
list of top 3
liked tweets
per tag
Standin for all
Hot Sources of Live Data:
IoT Physical World Reports, IT Ops, Web
Click Statistics, Business Process
execution, open data feeds (traffic,
weather, stocks, …), Points of Sales,
Social Media, microservices chatter
THE CODE
https://github.com/lucasjellema/devoxxUK18-active-ui-streaming-analysis
#ActiveUIDevoxxUK
FOLLOWING ALONG (AND HELP WITH) THE DEMO
http://bit.ly/ActiveUIDevoxxUK
EVENTS
Producers
Consumers
Robust, Scalable,
History Retention
Containerized/Cloud-
enabled
INTRODUCING APACHE KAFKA
• ..- 2010 – creation at Linkedin
• Message Bus | Event Broker | Streaming Data Platform
• High volume, low latency, highly reliable, cross technology Commit Log (ledger)
• Scalable (#messages & #consumers), distributed, durable, strict message ordering, ….
• 2011/2012 – open source under the Apache Incubator/ Top Project
• Backed by Confluent – Confluent Open Source & Confluent Enterprise
• Kafka is used by most many [large] corporations:
• And embraced by [almost] all many software vendors & cloud providers
• Client libraries available for NodeJS, Java, C/C++, Python, Ruby, PHP, Scala,
Clojure, Rust, .NET, go (aka golang) and many more
• Apache Kafka includes Connect, Mirror Maker, Streams
• KSQL is Open Source, part of the Confluent Platform
KAFKA TERMINOLOGY
• Topic
• partition
• Message
• == ByteArray
• Broker
• replicated
• Producer
• Consumer
• Working together
in Consumer Groups
Producer Consumer
Topic
Broker
Key
Value
Time
Message
Producers
Consumers
Topic
Broker
tcp
tcp
THE CASE AT HAND – STEP ONE
Client
Client
Client
Client
Tweets on #devoxxUK
#java #oraclecode
Show live
tweet feed for
each tag
in each client
Tweets
Topic
THE CASE AT HAND – STEP ONE AND A HALF
Client
Client
Client
Client
Tweets on
#devoxxUK #java
#oraclecode
Show live
tweet feed for
each tag
in each client
Tweets
Topic
THE CASE AT HAND – STEP ONE AND TWO
Client
Client
Client
Client
Tweets on #devoxxUK
#java #oraclecode
Show live
tweet feed for
each tag
Tweets
Topic
Oracle Cloud
Event HubApplication
Container
Tweets
Topic
Event Hub
Application
Container
Application
Container
KAFKA CONSUMER IN NODE
GETS EVENTS PUSHED INTO APPLICATION
WEB APP REGISTERS LISTENER WITH KAFKA
EVENT CONSUMER
THE CASE AT HAND
SERVER SENT EVENTS FOR PUSH BACK
Client
Client
Client
Client
Tweets on #devoxxUK
#java #oraclecode
Show live
tweet feed for
each tag
Tweets
Topic
Server Sent
Event
SERVER SENT EVENT – SERVER SIDE
SERVER SENT EVENT – CLIENT SIDE
LIVE TWEET STREAM
Server Sent
Event
THE CASE AT HAND
TWEET LIKES – CLIENT TO SERVER TO ALL CLIENTS
Client
Client
Client
Client
Tweets on #devoxxUK
#java #oraclecode
Show live
tweet feed for
each tag
Tweets
Topic
SSE
Allow users to
like tweets –
and show live
list of liked
tweets
THE CASE AT HAND
WEB SOCKETS – FOR BI DIRECTIONAL PUSH
Client
Client
Client
Client
Tweets on #devoxxUK
#java #oraclecode
Show live
tweet feed for
each tag
Tweets
Topic
SSE
WebSockets
Allow users to
like tweets –
and show live
list of liked
tweets
WEBSOCKETS – SERVER SIDE
WEBSOCKETS – CLIENT SIDE - PUBLISHING
Client WebSockets
WEBSOCKETS – CLIENT SIDE - CONSUMING
Client WebSockets
TWEET LIKES BROADCASTING
WebSockets
WebSockets
THE CASE AT HAND: RUNNING COUNT
STREAMING ANALYSIS OF TWEET EVENTS
Client
Client
Client
Client
Tweets on #devoxxUK
#java #oraclecode
Show live
tweet feed for
each tag
Tweets
Topic
SSE
WebSockets
Allow users to
like tweets –
and show live
list of liked
tweets
Show live
tweet
aggregates
per tag
THE CASE AT HAND - STREAMING ANALYSIS OF TWEETS
Client
Client
Client
Client
Tweets on #devoxxUK
#java #oraclecode
Show live
tweet feed for
each tag
Tweets
Topic
WebSockets
Allow users to
like tweets –
and show live
list of liked
tweets
Show live
tweet
aggregates
per tag
tweetAnalytics
Topic
Streaming
Tweets
Aggregation
µ
SSE
KAFKA STREAMS
• Real Time Event [Stream] Processing integrated into Kafka
• Aggregations & Top-N
• Time Windows
• Continuous Queries
• Latest State (event sourcing)
• Turn Stream (of changes) into Table
(of most recent or current state)
• Part of the state can be quite old
• Exactly-once processing in Kafka Streams (as of 0.11.0)
• Note: Kafka Streams is relatively new
• Only support for Java clients; Scala client is planned too
KAFKA STREAMS
Topic
Filter
Aggregate
Join
Topic
Map (Xform)
Publish
Topic
EXAMPLE OF KAFKA STREAMS
Topic
groupBy
Aggregate
Join
Topic
Map (Xform)
Publish
TweetMessage
Tag
Text
Author
Set Conference as key
Sum/Avg/Top3 by key
(==tagFilter)
As JSON
Round aggregate to
nearest 100
e.g. Author Details
Topic: CountTweetsPerTag
and possibly per time window
ADD KAFKA STREAMS CAPABILITIES TO ANY
JAVA APPLICATION
• Add Maven Dependency
• Connect to Kafka Cluster
• Compose & Execute Kafka Streams logic:
• Write Java code
KAFKA STREAMS –
RUNNING COUNT TWEETS PER CONFERENCE
WOULDN’T IT BE NICE IF YOU COULD JUST DO
select tagfilter
, count(*) as tag_cnt
from tweets
window hopping ( size 5 minutes
, advance by 30 seconds)
group by tagfilter
KSQL – CONTINUOUS QUERIES –
PROCESSING EVENT STREAMS LIKE TABLES
• Transform, Filter, Join, Aggregate, (time) Window on Event Streams
• Results are produced as regular Kafka Events
RUNNING TWEET COUNT THROUGH KSQL
RUNNING TWEET COUNT THROUGH KSQL
• KSQL CLI
• List topics
• Print topic
• Create stream
• Create table
• List Topics
• Query from table
RUNNING TWEET COUNT THROUGH KSQL
KSQL RUNNING COUNT OF TWEETS PER TAG
RESULTS PUBLISHED ON KAFKA TOPIC
Client
Client
Client
Client
Tweets on #devoxxUK
#java #oraclecode
Show live
tweet feed for
each tag
Tweets
Topic
Allow users to
like tweets –
and show live
list of liked
tweets
Show live
tweet
aggregates
per
conference
TWEET_COUNT
Topic
Running Tweets
Aggregation
SSE
Show a live
list of top 3
liked tweets
per tag
STREAMING TWEET ANALYTICS - PUSHED TO CLIENT
Server Sent
Event
KSQL INTERFACES
Kafka Cluster
Kafka Streams API
KSQL Server
HTTP
REST API
CLI
JDBC
Driver
KTable
KStream
Topic
Topic
Topic
KTable
Topic
Topic
Java Application
KStream
THE THREE FLAVORS OF
STREAM[ING] ANALYTICS WITH KAFKA
Kafka Cluster
KTable
KStream
Topic
Topic
Topic
KTable
Topic
Topic
KStream
THE CASE AT HAND –
STREAMING ANALYSIS OF TWEET LIKES
Client
Client
Client
Client
Tweets on #devoxxUK
#java #oraclecode
Show live
tweet feed for
each tag
Tweets
Topic
WebSockets
Allow users to
like tweets –
and show live
list of liked
tweets
Show live
tweet
aggregates
per
conference
TWEET_COUNT
Topic
Running Tweets
Aggregation
SSE
Show a live
list of top 3
liked tweets
per tag
THE CASE AT HAND - STREAMING ANALYSIS
OF TWEET LIKES
Client
Client
Client
Client
Tweets on #devoxxUK
#java #oraclecode
Tweets
Topic
WebSockets
TWEET_COUNT
Topic
Running Tweets
Aggregation
SSE
Show a live
list of top 3
liked tweets
per tag
Tweet-Like
Topic
Running Top3 Like
Counts Aggregation
Tweet_Like_
Counts
Topic
WEBSOCKETS – SERVER SIDE
PRODUCE TWEET LIKE EVENTS
CREATE STREAM FROM TOPIC & TABLE FROM
STREAM
create stream tweet_likes ( tweetid varchar)
with (kafka_topic='tweet-like_topic' ,
value_format='json', key='tweetid');
create table like_counts as
select count(*) likecount
, tweetid
, tagfilter
from tweet_likes
window hopping ( size 60 seconds
, advance 10 seconds)
group by tweetid, tagfilter;
CREATE STREAM FROM TABLE & ENRICHED
STREAM FROM STREAM
create stream top3_likes as
select tweetid, tagfilter, topk( likecount, 3)
from like_counts
group by tagfilter;
create stream enriched_top3_likes as
select tl.tagfilter, tl.tweetid, t.text, t.rowtime
from top3_likes tl
left join tweets t
on tl.tweetid = t.tweetid;
RUNNING TOP 3 OF
BEST LIKED TWEETS PER CONFERENCE
Server Sent
Event
Tweets on #devoxxUK
#java #oraclecode
Tweets
Topic
Oracle Cloud
Event HubApplication
Container
Tweets
Topic
TWEET_COUNT
Topic
Running Tweets
Aggregation
Tweet-Like
Topic
Running Top3 Like
Counts Aggregation
Tweet_Like_
Counts
Topic
Client
Client
Client
Client
IoT metrics from
hundreds of devices
User actions & click
events from webshop
Live Traffic EventsMicroservices chatter
Social Media events
(Facebook,
Whatsapp, …)
IT Operations –
monitoring metrics
µ
µ
µ
µ
CONCLUSION
• Fast data – Active UI & Active API leveraging live data streams
• Proactively informing consumers with [results from streaming analysis of] events
• Decoupled processing
• Unentangled, separated in space and time
• Distributed across clouds and on premises
• Kafka
• Scalable, reliable, historic Events & Data Store
• Streaming Analysis –Kafka Streams and KSQL
• Modern browser – push capability & bi-directional communication
• SSE, WebSocket, HTTP/2, WebWorker Notifications
• Active UI with happy users, fresh data without burden on back end systems
• “Step away from that F5 key”
• Blog: technology.amis.nl
• Email: lucas.jellema@amis.nl
• : lucasjellema
• : lucas-jellema
• : www.amis.nl, info@amis.nl
+31 306016000
Edisonbaan 15,
Nieuwegein
https://github.com/lucasjellema/devoxxUK18-active-ui-streaming-analysis

More Related Content

What's hot

Apache Kafka Introduction
Apache Kafka IntroductionApache Kafka Introduction
Apache Kafka IntroductionAmita Mirajkar
 
DBA Fundamentals Group: Continuous SQL with Kafka and Flink
DBA Fundamentals Group: Continuous SQL with Kafka and FlinkDBA Fundamentals Group: Continuous SQL with Kafka and Flink
DBA Fundamentals Group: Continuous SQL with Kafka and FlinkTimothy Spann
 
Apache Kafka in the Airline, Aviation and Travel Industry
Apache Kafka in the Airline, Aviation and Travel IndustryApache Kafka in the Airline, Aviation and Travel Industry
Apache Kafka in the Airline, Aviation and Travel IndustryKai Wähner
 
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Jean-Paul Azar
 
Consumer offset management in Kafka
Consumer offset management in KafkaConsumer offset management in Kafka
Consumer offset management in KafkaJoel Koshy
 
Everything You Always Wanted to Know About Kafka’s Rebalance Protocol but Wer...
Everything You Always Wanted to Know About Kafka’s Rebalance Protocol but Wer...Everything You Always Wanted to Know About Kafka’s Rebalance Protocol but Wer...
Everything You Always Wanted to Know About Kafka’s Rebalance Protocol but Wer...confluent
 
Apache Kafka - Martin Podval
Apache Kafka - Martin PodvalApache Kafka - Martin Podval
Apache Kafka - Martin PodvalMartin Podval
 
ksqlDB: A Stream-Relational Database System
ksqlDB: A Stream-Relational Database SystemksqlDB: A Stream-Relational Database System
ksqlDB: A Stream-Relational Database Systemconfluent
 
MirrorMaker: Beyond the Basics with Mickael Maison
MirrorMaker: Beyond the Basics with Mickael MaisonMirrorMaker: Beyond the Basics with Mickael Maison
MirrorMaker: Beyond the Basics with Mickael MaisonHostedbyConfluent
 
Kafka replication apachecon_2013
Kafka replication apachecon_2013Kafka replication apachecon_2013
Kafka replication apachecon_2013Jun Rao
 
Networking in Java with NIO and Netty
Networking in Java with NIO and NettyNetworking in Java with NIO and Netty
Networking in Java with NIO and NettyConstantine Slisenka
 
A Deep Dive into Kafka Controller
A Deep Dive into Kafka ControllerA Deep Dive into Kafka Controller
A Deep Dive into Kafka Controllerconfluent
 
Securing Kafka
Securing Kafka Securing Kafka
Securing Kafka confluent
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache KafkaJeff Holoman
 
What's the time? ...and why? (Mattias Sax, Confluent) Kafka Summit SF 2019
What's the time? ...and why? (Mattias Sax, Confluent) Kafka Summit SF 2019What's the time? ...and why? (Mattias Sax, Confluent) Kafka Summit SF 2019
What's the time? ...and why? (Mattias Sax, Confluent) Kafka Summit SF 2019confluent
 
Serverless Kafka on AWS as Part of a Cloud-native Data Lake Architecture
Serverless Kafka on AWS as Part of a Cloud-native Data Lake ArchitectureServerless Kafka on AWS as Part of a Cloud-native Data Lake Architecture
Serverless Kafka on AWS as Part of a Cloud-native Data Lake ArchitectureKai Wähner
 
Introduction to AWS Lambda and Serverless Applications
Introduction to AWS Lambda and Serverless ApplicationsIntroduction to AWS Lambda and Serverless Applications
Introduction to AWS Lambda and Serverless ApplicationsAmazon Web Services
 

What's hot (20)

Apache Kafka Introduction
Apache Kafka IntroductionApache Kafka Introduction
Apache Kafka Introduction
 
DBA Fundamentals Group: Continuous SQL with Kafka and Flink
DBA Fundamentals Group: Continuous SQL with Kafka and FlinkDBA Fundamentals Group: Continuous SQL with Kafka and Flink
DBA Fundamentals Group: Continuous SQL with Kafka and Flink
 
Apache Kafka in the Airline, Aviation and Travel Industry
Apache Kafka in the Airline, Aviation and Travel IndustryApache Kafka in the Airline, Aviation and Travel Industry
Apache Kafka in the Airline, Aviation and Travel Industry
 
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
 
Consumer offset management in Kafka
Consumer offset management in KafkaConsumer offset management in Kafka
Consumer offset management in Kafka
 
Apache Kafka
Apache KafkaApache Kafka
Apache Kafka
 
Everything You Always Wanted to Know About Kafka’s Rebalance Protocol but Wer...
Everything You Always Wanted to Know About Kafka’s Rebalance Protocol but Wer...Everything You Always Wanted to Know About Kafka’s Rebalance Protocol but Wer...
Everything You Always Wanted to Know About Kafka’s Rebalance Protocol but Wer...
 
Apache Kafka - Martin Podval
Apache Kafka - Martin PodvalApache Kafka - Martin Podval
Apache Kafka - Martin Podval
 
ksqlDB: A Stream-Relational Database System
ksqlDB: A Stream-Relational Database SystemksqlDB: A Stream-Relational Database System
ksqlDB: A Stream-Relational Database System
 
MirrorMaker: Beyond the Basics with Mickael Maison
MirrorMaker: Beyond the Basics with Mickael MaisonMirrorMaker: Beyond the Basics with Mickael Maison
MirrorMaker: Beyond the Basics with Mickael Maison
 
Kafka replication apachecon_2013
Kafka replication apachecon_2013Kafka replication apachecon_2013
Kafka replication apachecon_2013
 
kafka
kafkakafka
kafka
 
Networking in Java with NIO and Netty
Networking in Java with NIO and NettyNetworking in Java with NIO and Netty
Networking in Java with NIO and Netty
 
A Deep Dive into Kafka Controller
A Deep Dive into Kafka ControllerA Deep Dive into Kafka Controller
A Deep Dive into Kafka Controller
 
Securing Kafka
Securing Kafka Securing Kafka
Securing Kafka
 
Envoy and Kafka
Envoy and KafkaEnvoy and Kafka
Envoy and Kafka
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 
What's the time? ...and why? (Mattias Sax, Confluent) Kafka Summit SF 2019
What's the time? ...and why? (Mattias Sax, Confluent) Kafka Summit SF 2019What's the time? ...and why? (Mattias Sax, Confluent) Kafka Summit SF 2019
What's the time? ...and why? (Mattias Sax, Confluent) Kafka Summit SF 2019
 
Serverless Kafka on AWS as Part of a Cloud-native Data Lake Architecture
Serverless Kafka on AWS as Part of a Cloud-native Data Lake ArchitectureServerless Kafka on AWS as Part of a Cloud-native Data Lake Architecture
Serverless Kafka on AWS as Part of a Cloud-native Data Lake Architecture
 
Introduction to AWS Lambda and Serverless Applications
Introduction to AWS Lambda and Serverless ApplicationsIntroduction to AWS Lambda and Serverless Applications
Introduction to AWS Lambda and Serverless Applications
 

Similar to Real Time Streaming Analytics and Active UI with Apache Kafka

Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Guido Schmutz
 
Welcome to Kafka; We’re Glad You’re Here (Dave Klein, Centene) Kafka Summit 2020
Welcome to Kafka; We’re Glad You’re Here (Dave Klein, Centene) Kafka Summit 2020Welcome to Kafka; We’re Glad You’re Here (Dave Klein, Centene) Kafka Summit 2020
Welcome to Kafka; We’re Glad You’re Here (Dave Klein, Centene) Kafka Summit 2020confluent
 
Streaming ETL with Apache Kafka and KSQL
Streaming ETL with Apache Kafka and KSQLStreaming ETL with Apache Kafka and KSQL
Streaming ETL with Apache Kafka and KSQLNick Dearden
 
Apache Kafka - Scalable Message Processing and more!
Apache Kafka - Scalable Message Processing and more!Apache Kafka - Scalable Message Processing and more!
Apache Kafka - Scalable Message Processing and more!Guido Schmutz
 
Advanced WCF Workshop
Advanced WCF WorkshopAdvanced WCF Workshop
Advanced WCF WorkshopIdo Flatow
 
Exploring KSQL Patterns
Exploring KSQL PatternsExploring KSQL Patterns
Exploring KSQL Patternsconfluent
 
Event driven architecture with Kafka
Event driven architecture with KafkaEvent driven architecture with Kafka
Event driven architecture with KafkaFlorence Next
 
KSQL: Open Source Streaming for Apache Kafka
KSQL: Open Source Streaming for Apache KafkaKSQL: Open Source Streaming for Apache Kafka
KSQL: Open Source Streaming for Apache Kafkaconfluent
 
From a Kafkaesque Story to The Promised Land at LivePerson
From a Kafkaesque Story to The Promised Land at LivePersonFrom a Kafkaesque Story to The Promised Land at LivePerson
From a Kafkaesque Story to The Promised Land at LivePersonLivePerson
 
Kafka Streams for Java enthusiasts
Kafka Streams for Java enthusiastsKafka Streams for Java enthusiasts
Kafka Streams for Java enthusiastsSlim Baltagi
 
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...Flink Forward
 
KSQL---Streaming SQL for Apache Kafka
KSQL---Streaming SQL for Apache KafkaKSQL---Streaming SQL for Apache Kafka
KSQL---Streaming SQL for Apache KafkaMatthias J. Sax
 
Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...
Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...
Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...Dan Halperin
 
Timeline Service v.2 (Hadoop Summit 2016)
Timeline Service v.2 (Hadoop Summit 2016)Timeline Service v.2 (Hadoop Summit 2016)
Timeline Service v.2 (Hadoop Summit 2016)Sangjin Lee
 
Timeline service V2 at the Hadoop Summit SJ 2016
Timeline service V2 at the Hadoop Summit SJ 2016Timeline service V2 at the Hadoop Summit SJ 2016
Timeline service V2 at the Hadoop Summit SJ 2016Vrushali Channapattan
 
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LMESet your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LMEconfluent
 
Event Driven Architectures with Apache Kafka
Event Driven Architectures with Apache KafkaEvent Driven Architectures with Apache Kafka
Event Driven Architectures with Apache KafkaMatt Masuda
 
Patterns of Streaming Applications
Patterns of Streaming ApplicationsPatterns of Streaming Applications
Patterns of Streaming ApplicationsC4Media
 

Similar to Real Time Streaming Analytics and Active UI with Apache Kafka (20)

Jug - ecosystem
Jug -  ecosystemJug -  ecosystem
Jug - ecosystem
 
Chti jug - 2018-06-26
Chti jug - 2018-06-26Chti jug - 2018-06-26
Chti jug - 2018-06-26
 
Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !
 
Welcome to Kafka; We’re Glad You’re Here (Dave Klein, Centene) Kafka Summit 2020
Welcome to Kafka; We’re Glad You’re Here (Dave Klein, Centene) Kafka Summit 2020Welcome to Kafka; We’re Glad You’re Here (Dave Klein, Centene) Kafka Summit 2020
Welcome to Kafka; We’re Glad You’re Here (Dave Klein, Centene) Kafka Summit 2020
 
Streaming ETL with Apache Kafka and KSQL
Streaming ETL with Apache Kafka and KSQLStreaming ETL with Apache Kafka and KSQL
Streaming ETL with Apache Kafka and KSQL
 
Apache Kafka - Scalable Message Processing and more!
Apache Kafka - Scalable Message Processing and more!Apache Kafka - Scalable Message Processing and more!
Apache Kafka - Scalable Message Processing and more!
 
Advanced WCF Workshop
Advanced WCF WorkshopAdvanced WCF Workshop
Advanced WCF Workshop
 
Exploring KSQL Patterns
Exploring KSQL PatternsExploring KSQL Patterns
Exploring KSQL Patterns
 
Event driven architecture with Kafka
Event driven architecture with KafkaEvent driven architecture with Kafka
Event driven architecture with Kafka
 
KSQL: Open Source Streaming for Apache Kafka
KSQL: Open Source Streaming for Apache KafkaKSQL: Open Source Streaming for Apache Kafka
KSQL: Open Source Streaming for Apache Kafka
 
From a Kafkaesque Story to The Promised Land at LivePerson
From a Kafkaesque Story to The Promised Land at LivePersonFrom a Kafkaesque Story to The Promised Land at LivePerson
From a Kafkaesque Story to The Promised Land at LivePerson
 
Kafka Streams for Java enthusiasts
Kafka Streams for Java enthusiastsKafka Streams for Java enthusiasts
Kafka Streams for Java enthusiasts
 
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...Flink Forward San Francisco 2018:  Dave Torok & Sameer Wadkar - "Embedding Fl...
Flink Forward San Francisco 2018: Dave Torok & Sameer Wadkar - "Embedding Fl...
 
KSQL---Streaming SQL for Apache Kafka
KSQL---Streaming SQL for Apache KafkaKSQL---Streaming SQL for Apache Kafka
KSQL---Streaming SQL for Apache Kafka
 
Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...
Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...
Introduction to Apache Beam & No Shard Left Behind: APIs for Massive Parallel...
 
Timeline Service v.2 (Hadoop Summit 2016)
Timeline Service v.2 (Hadoop Summit 2016)Timeline Service v.2 (Hadoop Summit 2016)
Timeline Service v.2 (Hadoop Summit 2016)
 
Timeline service V2 at the Hadoop Summit SJ 2016
Timeline service V2 at the Hadoop Summit SJ 2016Timeline service V2 at the Hadoop Summit SJ 2016
Timeline service V2 at the Hadoop Summit SJ 2016
 
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LMESet your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
 
Event Driven Architectures with Apache Kafka
Event Driven Architectures with Apache KafkaEvent Driven Architectures with Apache Kafka
Event Driven Architectures with Apache Kafka
 
Patterns of Streaming Applications
Patterns of Streaming ApplicationsPatterns of Streaming Applications
Patterns of Streaming Applications
 

More from Lucas Jellema

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Lucas Jellema
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Lucas Jellema
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lucas Jellema
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Lucas Jellema
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...Lucas Jellema
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...Lucas Jellema
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Lucas Jellema
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)Lucas Jellema
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Lucas Jellema
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Lucas Jellema
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Lucas Jellema
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Lucas Jellema
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Lucas Jellema
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Lucas Jellema
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...Lucas Jellema
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Lucas Jellema
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Lucas Jellema
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Lucas Jellema
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Lucas Jellema
 

More from Lucas Jellema (20)

Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
Making the Shift Left - Bringing Ops to Dev before bringing applications to p...
 
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
Lightweight coding in powerful Cloud Development Environments (DigitalXchange...
 
Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...Apache Superset - open source data exploration and visualization (Conclusion ...
Apache Superset - open source data exploration and visualization (Conclusion ...
 
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
CONNECTING THE REAL WORLD TO ENTERPRISE IT – HOW IoT DRIVES OUR ENERGY TRANSI...
 
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...Help me move away from Oracle - or not?!  (Oracle Community Tour EMEA - LVOUG...
Help me move away from Oracle - or not?! (Oracle Community Tour EMEA - LVOUG...
 
Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!Op je vingers tellen... tot 1000!
Op je vingers tellen... tot 1000!
 
IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)IoT - from prototype to enterprise platform (DigitalXchange 2022)
IoT - from prototype to enterprise platform (DigitalXchange 2022)
 
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
Who Wants to Become an IT Architect-A Look at the Bigger Picture - DigitalXch...
 
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
Steampipe - use SQL to retrieve data from cloud, platforms and files (Code Ca...
 
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
Automation of Software Engineering with OCI DevOps Build and Deployment Pipel...
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
 
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
6Reinventing Oracle Systems in a Cloudy World (RMOUG Trainingdays, February 2...
 
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
Help me move away from Oracle! (RMOUG Training Days 2022, February 2022)
 
Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)Tech Talks 101 - DevOps (jan 2022)
Tech Talks 101 - DevOps (jan 2022)
 
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
Conclusion Code Cafe - Microcks for Mocking and Testing Async APIs (January 2...
 
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...Cloud Native Application Development - build fast, low TCO, scalable & agile ...
Cloud Native Application Development - build fast, low TCO, scalable & agile ...
 

Recently uploaded

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 

Recently uploaded (20)

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 

Real Time Streaming Analytics and Active UI with Apache Kafka

  • 1. #ActiveUIDevoxxUK @lucasjellema Real Time UI with Apache Kafka Streaming Analytics of Fast Data and Server Push Lucas Jellema (CTO AMIS) @lucasjellema http://technology.amis.nl www.amis.nl
  • 2.
  • 3.
  • 4.
  • 8. FAST DATA AND ACTIVE UI • Handle [data | event] influx • Analyze in real time • Publish findings instantaneously • Update UI & notify end user immediately • Convince end user that the UI is (still) active (and no F5 is required) • Decoupled components • No data loss when a component is temporarily down • Scalable with volume of events and of number of clients
  • 10. THE CASE AT HAND Client Client Client Client Tweets on #devoxxUK #java #oraclecode Show live tweet feed for tags Show live tweet aggregates per tag Allow users to like tweets – and show live list of liked tweets Show a live list of top 3 liked tweets per tag Standin for all Hot Sources of Live Data: IoT Physical World Reports, IT Ops, Web Click Statistics, Business Process execution, open data feeds (traffic, weather, stocks, …), Points of Sales, Social Media, microservices chatter
  • 12. FOLLOWING ALONG (AND HELP WITH) THE DEMO http://bit.ly/ActiveUIDevoxxUK
  • 14. INTRODUCING APACHE KAFKA • ..- 2010 – creation at Linkedin • Message Bus | Event Broker | Streaming Data Platform • High volume, low latency, highly reliable, cross technology Commit Log (ledger) • Scalable (#messages & #consumers), distributed, durable, strict message ordering, …. • 2011/2012 – open source under the Apache Incubator/ Top Project • Backed by Confluent – Confluent Open Source & Confluent Enterprise • Kafka is used by most many [large] corporations: • And embraced by [almost] all many software vendors & cloud providers • Client libraries available for NodeJS, Java, C/C++, Python, Ruby, PHP, Scala, Clojure, Rust, .NET, go (aka golang) and many more • Apache Kafka includes Connect, Mirror Maker, Streams • KSQL is Open Source, part of the Confluent Platform
  • 15.
  • 16. KAFKA TERMINOLOGY • Topic • partition • Message • == ByteArray • Broker • replicated • Producer • Consumer • Working together in Consumer Groups Producer Consumer Topic Broker Key Value Time Message
  • 18. THE CASE AT HAND – STEP ONE Client Client Client Client Tweets on #devoxxUK #java #oraclecode Show live tweet feed for each tag in each client Tweets Topic
  • 19. THE CASE AT HAND – STEP ONE AND A HALF Client Client Client Client Tweets on #devoxxUK #java #oraclecode Show live tweet feed for each tag in each client Tweets Topic
  • 20. THE CASE AT HAND – STEP ONE AND TWO Client Client Client Client Tweets on #devoxxUK #java #oraclecode Show live tweet feed for each tag Tweets Topic Oracle Cloud Event HubApplication Container
  • 24. KAFKA CONSUMER IN NODE GETS EVENTS PUSHED INTO APPLICATION
  • 25. WEB APP REGISTERS LISTENER WITH KAFKA EVENT CONSUMER
  • 26. THE CASE AT HAND SERVER SENT EVENTS FOR PUSH BACK Client Client Client Client Tweets on #devoxxUK #java #oraclecode Show live tweet feed for each tag Tweets Topic Server Sent Event
  • 27. SERVER SENT EVENT – SERVER SIDE
  • 28. SERVER SENT EVENT – CLIENT SIDE
  • 30. THE CASE AT HAND TWEET LIKES – CLIENT TO SERVER TO ALL CLIENTS Client Client Client Client Tweets on #devoxxUK #java #oraclecode Show live tweet feed for each tag Tweets Topic SSE Allow users to like tweets – and show live list of liked tweets
  • 31. THE CASE AT HAND WEB SOCKETS – FOR BI DIRECTIONAL PUSH Client Client Client Client Tweets on #devoxxUK #java #oraclecode Show live tweet feed for each tag Tweets Topic SSE WebSockets Allow users to like tweets – and show live list of liked tweets
  • 33. WEBSOCKETS – CLIENT SIDE - PUBLISHING Client WebSockets
  • 34. WEBSOCKETS – CLIENT SIDE - CONSUMING Client WebSockets
  • 36. THE CASE AT HAND: RUNNING COUNT STREAMING ANALYSIS OF TWEET EVENTS Client Client Client Client Tweets on #devoxxUK #java #oraclecode Show live tweet feed for each tag Tweets Topic SSE WebSockets Allow users to like tweets – and show live list of liked tweets Show live tweet aggregates per tag
  • 37. THE CASE AT HAND - STREAMING ANALYSIS OF TWEETS Client Client Client Client Tweets on #devoxxUK #java #oraclecode Show live tweet feed for each tag Tweets Topic WebSockets Allow users to like tweets – and show live list of liked tweets Show live tweet aggregates per tag tweetAnalytics Topic Streaming Tweets Aggregation µ SSE
  • 38. KAFKA STREAMS • Real Time Event [Stream] Processing integrated into Kafka • Aggregations & Top-N • Time Windows • Continuous Queries • Latest State (event sourcing) • Turn Stream (of changes) into Table (of most recent or current state) • Part of the state can be quite old • Exactly-once processing in Kafka Streams (as of 0.11.0) • Note: Kafka Streams is relatively new • Only support for Java clients; Scala client is planned too
  • 40. EXAMPLE OF KAFKA STREAMS Topic groupBy Aggregate Join Topic Map (Xform) Publish TweetMessage Tag Text Author Set Conference as key Sum/Avg/Top3 by key (==tagFilter) As JSON Round aggregate to nearest 100 e.g. Author Details Topic: CountTweetsPerTag and possibly per time window
  • 41. ADD KAFKA STREAMS CAPABILITIES TO ANY JAVA APPLICATION • Add Maven Dependency • Connect to Kafka Cluster • Compose & Execute Kafka Streams logic: • Write Java code
  • 42. KAFKA STREAMS – RUNNING COUNT TWEETS PER CONFERENCE
  • 43. WOULDN’T IT BE NICE IF YOU COULD JUST DO select tagfilter , count(*) as tag_cnt from tweets window hopping ( size 5 minutes , advance by 30 seconds) group by tagfilter
  • 44. KSQL – CONTINUOUS QUERIES – PROCESSING EVENT STREAMS LIKE TABLES • Transform, Filter, Join, Aggregate, (time) Window on Event Streams • Results are produced as regular Kafka Events
  • 45. RUNNING TWEET COUNT THROUGH KSQL
  • 46. RUNNING TWEET COUNT THROUGH KSQL • KSQL CLI • List topics • Print topic • Create stream • Create table • List Topics • Query from table
  • 47. RUNNING TWEET COUNT THROUGH KSQL
  • 48. KSQL RUNNING COUNT OF TWEETS PER TAG RESULTS PUBLISHED ON KAFKA TOPIC Client Client Client Client Tweets on #devoxxUK #java #oraclecode Show live tweet feed for each tag Tweets Topic Allow users to like tweets – and show live list of liked tweets Show live tweet aggregates per conference TWEET_COUNT Topic Running Tweets Aggregation SSE Show a live list of top 3 liked tweets per tag
  • 49. STREAMING TWEET ANALYTICS - PUSHED TO CLIENT Server Sent Event
  • 50. KSQL INTERFACES Kafka Cluster Kafka Streams API KSQL Server HTTP REST API CLI JDBC Driver KTable KStream Topic Topic Topic KTable Topic Topic Java Application KStream
  • 51. THE THREE FLAVORS OF STREAM[ING] ANALYTICS WITH KAFKA Kafka Cluster KTable KStream Topic Topic Topic KTable Topic Topic KStream
  • 52. THE CASE AT HAND – STREAMING ANALYSIS OF TWEET LIKES Client Client Client Client Tweets on #devoxxUK #java #oraclecode Show live tweet feed for each tag Tweets Topic WebSockets Allow users to like tweets – and show live list of liked tweets Show live tweet aggregates per conference TWEET_COUNT Topic Running Tweets Aggregation SSE Show a live list of top 3 liked tweets per tag
  • 53. THE CASE AT HAND - STREAMING ANALYSIS OF TWEET LIKES Client Client Client Client Tweets on #devoxxUK #java #oraclecode Tweets Topic WebSockets TWEET_COUNT Topic Running Tweets Aggregation SSE Show a live list of top 3 liked tweets per tag Tweet-Like Topic Running Top3 Like Counts Aggregation Tweet_Like_ Counts Topic
  • 54. WEBSOCKETS – SERVER SIDE PRODUCE TWEET LIKE EVENTS
  • 55. CREATE STREAM FROM TOPIC & TABLE FROM STREAM create stream tweet_likes ( tweetid varchar) with (kafka_topic='tweet-like_topic' , value_format='json', key='tweetid'); create table like_counts as select count(*) likecount , tweetid , tagfilter from tweet_likes window hopping ( size 60 seconds , advance 10 seconds) group by tweetid, tagfilter;
  • 56. CREATE STREAM FROM TABLE & ENRICHED STREAM FROM STREAM create stream top3_likes as select tweetid, tagfilter, topk( likecount, 3) from like_counts group by tagfilter; create stream enriched_top3_likes as select tl.tagfilter, tl.tweetid, t.text, t.rowtime from top3_likes tl left join tweets t on tl.tweetid = t.tweetid;
  • 57. RUNNING TOP 3 OF BEST LIKED TWEETS PER CONFERENCE Server Sent Event
  • 58. Tweets on #devoxxUK #java #oraclecode Tweets Topic Oracle Cloud Event HubApplication Container Tweets Topic TWEET_COUNT Topic Running Tweets Aggregation Tweet-Like Topic Running Top3 Like Counts Aggregation Tweet_Like_ Counts Topic Client Client Client Client IoT metrics from hundreds of devices User actions & click events from webshop Live Traffic EventsMicroservices chatter Social Media events (Facebook, Whatsapp, …) IT Operations – monitoring metrics µ µ µ µ
  • 59. CONCLUSION • Fast data – Active UI & Active API leveraging live data streams • Proactively informing consumers with [results from streaming analysis of] events • Decoupled processing • Unentangled, separated in space and time • Distributed across clouds and on premises • Kafka • Scalable, reliable, historic Events & Data Store • Streaming Analysis –Kafka Streams and KSQL • Modern browser – push capability & bi-directional communication • SSE, WebSocket, HTTP/2, WebWorker Notifications • Active UI with happy users, fresh data without burden on back end systems • “Step away from that F5 key”
  • 60. • Blog: technology.amis.nl • Email: lucas.jellema@amis.nl • : lucasjellema • : lucas-jellema • : www.amis.nl, info@amis.nl +31 306016000 Edisonbaan 15, Nieuwegein https://github.com/lucasjellema/devoxxUK18-active-ui-streaming-analysis

Editor's Notes

  1. https://cwiki.apache.org/confluence/display/KAFKA/Clients