Overview
Explore a conference talk on building Kafka-based microservices using Akka Streams and Kafka Streams. Dive into streaming architectures, data backplanes, and the benefits of Kafka in solving distributed systems problems. Learn about Kafka Streaming, comparing it with alternatives like Spark and Flink. Examine the differences between Akka and Kafka, events vs. messages, and the concept of event time vs. processing time. Discover how to achieve exactly-once processing and explore practical examples using Scala API, Kafka topics, and stream builders. Gain insights into running microservices, implementing Akka Streams, and writing Kafka Streams code. Conclude with a discussion on production tradeoffs, including latency considerations and backpressure management in streaming architectures.
Syllabus
Introduction
Streaming Context
Reilly Report
Architecture
Data Backplane
Kafka
Partitioning
Architecture benefits
Kafka solves problems
Kafka Streaming
Spark and Flink
Driver
Pipelining
Microservices
Streaming alternatives
Akka vs Kafka
Events vs Messages
Akka Streams
Event Time vs Processing Time
Exactly Once
Case Dream
Limitations
Example
Scala API
Kafka Topics
Kafka Stream Builder
Running Microservices
Akka Streams Example
Kafka Streams Code
Production Tradeoffs
Latency
Backpressure
Wrapup
Taught by
Scala Days Conferences