The log is a simple idea New
Old
Messages are added at the end of the log
@gamussa
#KafkaSPB
@confluentinc
Slide 7
Consumers have a position all of their own George is here
Scan
New
Old
Fred is here @gamussa
Sally is here
Scan
#KafkaSPB
Scan
@confluentinc
Slide 8
Only Sequential Access Old
Read to offset & scan
@gamussa
#KafkaSPB
New
@confluentinc
Slide 9
Shard data to get scalability Producer (1)
Producer (2)
Producer (3)
Messages are sent to different partitions Cluster of machines
Partitions live on different machines
@gamussa
#KafkaSPB
@confluentinc
Slide 10
Linearly Scalable Architecture Producers
Single topic: - Many producers machines - Many consumer machines - Many Broker machines No Bottleneck!!
Consumers @gamussa
#KafkaSPB
@confluentinc
Slide 11
Replicate to get fault tolerance leader
msg
Machine A @gamussa
Machine B replicate
#KafkaSPB
msg @confluentinc
TABLE Gary
Gary Viktor
Gary Viktor
Gary Viktor Soby
STREAM
TABLE
1
(“Gary”, 1)
Gary
1
(“Viktor”, 1)
Gary Viktor
1 1
(“Gary”, 2)
Gary Viktor
2 1
Gary Viktor Soby
2 1 1
1 1
2 1
2 1 1
(“Soby”, 1)
@gamussa
#KafkaSPB
@confluentinc
Interaction with Kafka KSQL (processing)
Kafka
JVM application with Kafka Streams (processing)
(data)
Does not run on Kafka brokers
@gamussa
Does not run on Kafka brokers
#KafkaSPB
@confluentinc
Slide 38
Fault-Tolerance, powered by Kafka (here: KSQL)
@gamussa
#KafkaSPB
@confluentinc
Slide 39
Differences
KSQL streams
You write...
KSQL statements
JVM applications
UI included for human interaction
Yes, in Confluent Enterprise
No
CLI included for human interaction
Yes
No
Data formats
Avro, JSON, CSV (today)
Any data format, including Avro, JSON, CSV, Protobuf, XML
REST API included
Yes
No, but you can DIY
Runtime included
Yes, the KSQL server
Not needed, applications run as standard JVM processes
Queryable state
Not yet
Yes
@gamussa
#KafkaSPB
@confluentinc
Slide 40
One more thing… @gamussa
@
@ATLspring
@confluentinc
Slide 41
@gamussa
@
@ATLspring
@confluentinc
Slide 42
@gamussa
@
@ATLspring
@confluentinc
Slide 43
A Major New Paradigm
@gamussa
@
@ATLspring
@confluentinc
Slide 44
Thanks! @gamussa
viktor@confluent.io We are hiring! https://www.confluent.io/careers/ @gamussa
#KafkaSPB @
@confluentinc