gschmutz / kafka-workshop

Kafka Workshop
23 stars 17 forks source link

Kafka Workshop

Kafka Workshops with hands-on tutorials for working with Kafka, Java, Spring Boot, KafkaStreams and ksqlDB ...

This workshop is part of the Trivadis course Apache Kafka for Developer.

All the workshops can be done on a container-based infrastructure using Docker Compose for the container orchestration. It can be run on a local machine or in a cloud environment. Check 01-environment for instructions on how to setup the infrastructure.

List of Workshops

ID Title Description
2 Getting started with Apache Kafka Create topics from the command line, use the Console Producer and Console Consumer to publish and consume messages and show how to use kcat (used to be kafakcat).
3 Testing Consumer Scalability and Kafka Failover demonstrates consumer failover and broker failover and load balancing over various consumers within a consumer group
4 Simple Kafka Consumer & Producer from Java learn how to produce and consume simple messages using the Kafka Java API. Secondly we will see how to produce/consume complex objects using JSON serialization.
4a Simple Kafka Consumer & Producer from Java with Avro (JSON language) & Schema Registry learn how to produce and consume messages using the Kafka Java API using Avro for serialization with the Confluent Schema Registry.
4b Using Kafka from Java with Avro (IDL language) & Schema Registry learn how to produce and consume messages using the Kafka Java API using Avro for serialization with the Confluent Schema Registry.
4c Simple Kafka Consumer & Producer from Java with Protocol Buffers & Schema Registry learn how to produce and consume messages using the Kafka Java API using Protocol Buffers for serialisation with the Confluent Schema Registry.
4d Simple Kafka Consumer & Producer from Java with JSON Schema & Schema Registry learn how to produce and consume messages using the Kafka Java API using JSON Schema for serialisation with the Confluent Schema Registry.
4e Using CloudEvents with Kafka from Java learn how to produce and consume messages using the Kafka Java API using CloudEvents for serialisation.
5 Kafka from Spring Boot using Kafka Spring learn how to use Spring Boot to consume and produce from/to Kafka
5a Kafka from Spring Boot with Avro & Schema Registry learn how to use Spring Boot to consume and produce from/to Kafka using Avro for serialization with the Confluent Schema Registry.
5b Kafka from Spring Boot with Avro IDL & Schema Registry learn how to use Spring Boot to consume and produce from/to Kafka using Avro (using IDL for schema definition) for serialization with the Confluent Schema Registry.
5c Kafka Heterogenous Topic from Spring Boot with Avro IDL & Schema Registry learn how to use Spring Boot to consume and produce from/to Kafka using a heterogenous topic (to transport different Avro objects) using Avro IDL.
5d Kafka from Spring Boot using Cloud Stream learn how to use Spring Cloud Streams to consume and produce from/to Kafka
5e Kafka from Spring Boot using Cloud Stream with Avro & Schema Registry learn how to use Spring Cloud Streams to consume and produce from/to Kafka using Avro for serialization with the Confluent Schema Registry.
5f Using Kafka Transactions from Spring Boot with Kafka Spring learn how to use Spring Boot to consume and produce from/to Kafka using exactly-once semantics through Kafka transactions.
6 Simple Kafka Consumer & Producer from Kotlin learn how to produce and consume messages using the Kotlin with the Java API.
6a Using Kafka from Kotlin with Avro & Schema Registry learn how to produce and consume messages with Kotlin and the Kafka Java API using Avro for serialization with the Confluent Schema Registry.
6b Using Kafka from Spring Boot with Kotlin using Kafka Spring learn how to use Kotlin with Spring Boot to consume and produce from/to Kafka
6c Using Kafka from Spring Boot with Kotlin and Avro & Schema Registry learn how to use Kotlin with Spring Boot to consume and produce from/to Kafka using Avro for serialization with the Confluent Schema Registry.
7 Kafka with Confluent's .NET client learn how to use .NET to consume and produce from/to Kafka
7b Using Kafka from #C (.Net) with Avro & Schema Registry learn how to use .NET to consume and produce messages from/to Kafka using Avro for serialization with the Confluent Schema Registry
8 Kafka with Confluent's Python client learn how to use Python to consume and produce from/to Kafka
9a Using Kafka from Go learn how to use Go to consume and produce from/to Kafka
9b Kafka from Node.js learn how to use Node.js to consume and produce from/to Kafka
10 Function as a Service (FaaS) with Kafka and Nuclio uses Nuclio to demonstrate implementing serverless functions (Faas = Function-as-a-Service) triggered by Kafka.
11 Using ksqlDB for Stream Analytics uses Confluent ksqlDB to demonstrate analytics on data-in-motion.
12 Using Kafka Streams for Stream Analytics uses Kafka Streams to demonstrate analytics on data-in-motion.
12a Using Kafka Streams from Spring Boot for Stream Analytics uses Kafka Streams from Spring Boot to demonstrate analytics on data-in-motion.
12b Using Kafka Streams from Spring Cloud Stream & Spring Boot for Stream Analytics uses Kafka Streams from Spring Boot with Kafka Streams Binder of Spring Cloud Stream to demonstrate analytics on data-in-motion.
12c Using Kafka Streams with Azkarra Streams for Stream Analytics uses Kafka Streams with Azkarra Streams to demonstrate analytics on data-in-motion.
13 IoT Vehicle Tracking Workshop a multi-step end-to-end workshop around IoT Vehicle Tracking
13a IoT Data Ingestion through MQTT into Kafka learn how to use Kafka Connect to ingest data from MQTT into Kafka
13b Stream Analytics using ksqlDB learn how to use ksqlDB to execute processing and analytics directly on a stream of data
13c Stream Analytics with using Kafka Streams learn how to use Kafka Streams from Java to execute processing and analytics directly on a stream of data
13d Stream Analytics with .Net using Streamiz learn how to use Streamiz from .NET to execute processing and analytics directly on a stream of data
13e Stream Analytics using Spark Structured Streaming learn how to use Spark Structured Streaming to execute processing and analytics directly on a stream of data
13f Static Data Ingestion into Kafka use Kafka Connect to ingest data from relational database (static data) and then join it with a data stream using ksqlDB
14 Working with Kafka Connect and Change Data Capture (CDC) uses Kafka Connect to demonstrate various way for doing CDC on a set of PostgreSQL tables.
16 Manipulating Consumer Offsets learn how to use the kafka-consumer-groups CLI for manipulating consumer offsets
20 Using Confluent REST APIs (REST Proxy) use Confluent REST Proxy