Kafka Development

This course provides a technical introduction to Kafka development. The course describes the design goals underpinning Kafka, and explains key Kafka concepts such as partitions, replication, and consumer groups. The course then leads you on a detailed tour of the Kafka APIs in Java: you’ll learn how to publish and consume data to Kafka topics; how to manage the Kafka environment via the AdminClient API; and how to implement a stream-processing topology via the Streams API.

What you will learn:

  • Understanding Kafka design goals and architecture
  • Setting up a development environment for Kafka
  • Using the Kafka Producer and Consumer APIs
  • Using the Kafka AdminClient API
  • Using the Streams API
  • Using Kafka in Spring Boot

Prerequisites:

Solid programming experience in Java or a similar language

Course outline:

Introduction to Kafka:

  • What is Kafka; Kafka design goals and architecture; Getting Kafka

Understanding Kafka Concepts and Terminology:

  • Topics and partitions; Partitions and replication; Consumers; Kafka commands

Using the Kafka Producer API:

  • Overview; Defining a simple producer; Defining a custom partitioner; Defining a custom serializer; Defining a custom interceptor

Using the Kafka Consumer API:

  • Overview; Defining a single consumer; Defining multiple consumers and groups; Defining a custom deserializer; Defining a custom interceptor

Using the Kafka AdminClient API: 

  • Overview; Getting cluster config information; Getting topic config information; Creating topics

Using the Streams API:

  • Overview; Defining a topology; Special types of processors in a topology; Understanding the Kafka Streams API; Defining a minimal topology; Additional techniques

Using Kafka in Spring Boot:

  • Overview; Spring Boot dependencies for Kafka; Publishing messages; Consuming messages

 

Andy Olsen - author of the course

Andy is a freelance consultant and instructor based in the UK, working mostly in the City of London and Oxford. Andy has been working with .NET since the Beta 1 days and has extensive experience in many facets of .NET development including WCF, WPF, WF, ASP.NET MVC Web development, and mobile applications. Andy has designed and written many Microsoft Official Curriculum courses in the last decade, and has been engaged as author and technical reviewer with Apress on some of their biggest selling books.

Other relevant courses

12. December
2 days
Classroom
5 days
Classroom Virtual
24. March
5 days
Classroom Virtual