KS101: Intro to Kafka Streams

Fundamentals of Kafka Streams applications.

This free curriculum covers everything you need to write production Kafka Streams applications. Whether you are already pushing thousands of events per second or are stuck at the whiteboard, we cover concepts and tips that will help you get to where you want to go.

Curriculum Overview
Phase 1: Getting Started
Learn when Kafka Streams is the right technology to choose, how to manage the lifecycle of an application and how to configure it for success.
Phase 2: Advanced Concepts
Kafka Streams supports advanced semantics such as joins, aggregations, windowing and more. Phase two will cover all of these in detail.
Phase 3: Testing & Production
Once you have your application developed, phase three covers everything you need to make sure it stays running properly.
Kafka Streams 101: Syllabus
Phase 1
Getting Started.
  1. KS101: Introduction (Kafka Streams vs. Alternatives)

    This lesson will cover (a) what Kafka Streams is, (b) when to choose Kafka Streams over alternatives such as Flink, Connect and Kafka Producer/Consumer and (c) how to think about what you need for your application to be successful.
  2. KS101: Topology Design

    This lesson will give you the tools you need to think about building your topology: when should you use the DSL vs. the Processor API, does it make sense to split a topology into separate applications and how to perform basic optimizations.
  3. KS101: Kafka Streams Lifecycle

    It may sound simple, but making sure the boilerplate that starts an instance of Kafka Streams is properly wired is not always trivial. This lesson covers starting and stopping your Kafka Streams application, as well as best practices when using frameworks such as Spring Boot.
  4. KS101: The Most Important Configs

    There are hundreds of Kafka configurations out there, this lesson covers which ones you need to know now and how they subtly relate to one another.
Phase 2
Advanced Concepts.
  1. KS102: Windows & Time

    This lesson covers the different way time comes into play in Kafka Streams, how windows work and managing out of order and late arriving records.
  2. KS102: Stateful Operators

    All about joins, aggregates and custom stateful operations! This is where Kafka Streams shines, but getting it right can be challenging.
  3. KS102: Punctuations

    Not everything in Kafka Streams must be driven by events. This lesson covers punctuations, which are side-channels into Kafka Streams that can be scheduled at some interval.
  4. KS102: Incremental Updates and Suppressing Output

    The Responsive Control Plane collects metrics and automatically scales your applications, reporting any concerning deviation to our support team, to make sure you always have an optimal deployment.
Phase 3
Testing & Production.
  1. KS103: Error Handling

    With complicated systems come complicated errors: Kafka Streams has many different types of errors and various different error handlers, each of which can allow you to configure different failure modes. This lesson covers them all.
  2. KS103: Testing Your Application

    From the Topology Test Driver to Test Containers, this lesson covers how best to test your application to ensure a smooth production experience.
  3. KS103: Changing & Upgrading Topologies

    Since Kafka Streams applications are processing data in realtime, upgrades can be a challenge. This lesson covers the required prerequisites to make sure you can safely modify production code.
  4. KS103: Optimizing Performance

    If you have made your way to production with a well designed application, this lesson is for you. Learn how to improve throughput or reduce the amount of resources needed to run your app.

Want 1 free hour of Kafka Streams consultation?

We would love to meet you and help get you some answers quickly.