Databases · DBC-45

Apache Kafka for Event-Driven Systems

Apache Kafka for Event-Driven Systems is a course in designing event-driven systems with Kafka, covering brokers and partitions, producers and delivery guarantees, consumer groups and offsets, Schema Registry, Kafka Connect, Kafka Streams, reliability and security, with hands-on work on a multi-broker cluster. It suits microservices developers, data engineers, system architects and DevOps staff.

Updated
From 11,250 THB / person 12,500 −10% excl. VAT 7% · group rates available
PDFDownload the course outline
  • Duration18 hours · 3 days
  • FormatOnsite / live online
  • Next roundOn request
  • CertificateIncluded

Course overview

Systems wired together with direct point-to-point calls turn into a tangle as services multiply, and when a downstream system goes down the data goes with it. Apache Kafka solves this by acting as a durable central hub for events, so producers and consumers stay independent, a system that comes back after an outage can resume reading from exactly where it stopped, and new consumers can be added without disturbing the existing ones.

This course takes learners from Kafka concepts to real production use: broker and partition architecture, designing topics and choosing keys for good data distribution, writing producers with a clear grasp of delivery guarantees, how consumer groups and offsets work, managing data formats with schemas, connecting external systems with Kafka Connect, stream processing with Kafka Streams, and finally reliability, security and monitoring in production. (3 days, 6 hours per day, 18 hours in total, Intermediate level.)

What you’ll gain

  • Understand event-driven architecture and when to use it instead of direct API calls
  • Explain Kafka architecture: brokers, topics, partitions, replicas and offsets
  • Install and operate a Kafka cluster with the essential command line tools
  • Design topics and choose keys for good distribution while preserving ordering
  • Write producers and understand acknowledgements and the idempotent producer
  • Write consumers and understand consumer groups, rebalancing and offset management
  • Manage data formats and evolve schemas safely
  • Connect databases and external systems with Kafka Connect with little code
  • Process data in motion with Kafka Streams and run Kafka securely with monitoring

Who this course is for

  • Software developers designing microservice-based systems
  • Data engineers who need to move data between systems in real time
  • Solution architects designing flexible and resilient system integration
  • System administrators and DevOps engineers who install and operate Kafka clusters
  • Teams suffering from tightly coupled systems and data loss when downstream services fail

Prerequisites

  • Basic understanding of how business systems work and integrate with each other
  • Ability to read and write code in at least one language (examples use Python)
  • Command line skills and basic networking concepts
  • Prior Docker experience makes the labs run more smoothly

Curriculum

Course Details

A 3-day course, 6 hours per day (18 hours in total), delivered as lectures with hands-on labs against a multi-broker Kafka cluster. Intermediate level. Learners take home a lab guide, complete producer, consumer and Kafka Streams sample code, a Docker Compose file for standing up a cluster, and a production readiness checklist. Kafka is open source and can be used in the organization at no licensing cost.

Day 1 Kafka Concepts and Architecture

Section 1: Event-Driven Architecture Concepts

  • Why direct point-to-point integration breaks down as services grow and downstream systems fail
  • Events, message queues and event streaming, and the differences that matter
  • Real use cases: system integration, real-time processing and event logging
  • When Kafka is the right choice and when a direct API call still fits better

Section 2: Apache Kafka Architecture

  • Core components: brokers, topics, partitions, replicas, leaders and followers
  • The append-only log and the offsets that let consumers replay data
  • Replication and tolerating broker failure
  • Retention periods and log compaction

Section 3: Installing and Operating a Cluster

  • Standing up a Kafka cluster with Docker Compose and checking cluster health
  • Command line tools for creating topics, producing and consuming messages
  • Using a UI to inspect topics, partitions and consumer groups
  • Lab: build a cluster, create your first topic and produce and consume from the CLI

Section 4: Designing Topics and Partitions

  • Topic naming conventions and sizing partition counts for the expected load
  • Choosing keys to distribute data while keeping related records in order
  • How partition count affects throughput, parallelism and adding consumers later
  • Lab: design and create topics for a business scenario and verify data distribution
Day 2 Producers, Consumers and Integration

Section 5: Producers and Delivery Guarantees

  • Writing producers and the settings that matter: acks, retries and batching
  • Delivery guarantees: at most once, at least once and exactly once
  • The idempotent producer and transactions when correctness is critical
  • Lab: write a producer and observe its behaviour when a broker stops responding

Section 6: Consumers and Consumer Groups

  • Writing consumers and how consumer groups divide partitions between members
  • Offset management: auto commit versus manual commit and the risk of duplicates or loss
  • What triggers a rebalance, its impact and how to reduce the pain
  • Lab: add and remove consumers from a group and watch partitions redistribute

Section 7: Schemas and Data Formats

  • Common formats: JSON and Avro and the trade-offs of each
  • Schema Registry and keeping compatibility as the data structure evolves
  • Designing events that other systems can rely on for years
  • Lab: define a schema for an event and evolve it without breaking consumers

Section 8: Kafka Connect for System Integration

  • How Kafka Connect works and the difference between source and sink connectors
  • Pulling data from databases into Kafka and pushing it out to destinations
  • Change data capture for tracking database changes as events
  • Lab: configure a connector that streams database rows into a topic with no code
Day 3 Streams, Reliability and Production

Section 9: Stream Processing with Kafka Streams

  • Processing data in motion: filtering, transforming and aggregating in real time
  • Windowed aggregation and continuous counts and summaries
  • Streams versus tables and joining two streams together
  • Lab: build a stream processing job that summarizes topic data in real time

Section 10: Reliability and Performance

  • Replication factor and minimum in-sync replicas so data is never lost
  • Handling and recovering from broker failure, and testing it for real
  • Tuning producer and consumer performance and managing consumer lag
  • Lab: simulate a broker failure and observe how the system keeps working

Section 11: Security and Monitoring

  • Encrypting connections and authenticating clients
  • Least-privilege authorization for topic access
  • Monitoring the cluster: consumer lag, broker health and the metrics that matter
  • Planning cluster maintenance and upgrading without downtime

Section 12: Capstone and Real-World Adoption

  • Capstone: design and build an event-driven system for one business process end to end
  • Present your topic architecture and the reasoning behind the design
  • How to adopt Kafka in the organization, starting small before scaling out
  • Workshop: present what you built and review the design together

Schedule & training options

For individuals — public rounds

No public rounds are open right now. Join the waiting list and we will contact you first when the next round opens, or ask us on LINE. Or call 02-570-8449 or 088-807-9770

For organisations — in-house / private

  • Tailor the content to your team’s tools and projects
  • Your dates, at your office or live online
  • Quotation with tax ID for procurement
Corporate training quote

Instructors

Frequently asked questions

How does Apache Kafka differ from a traditional message queue?

A traditional message queue usually deletes a message once it has been processed, and each message typically goes to one consumer. Kafka stores data as an append-only log for a configured retention period, and each consumer group reads from its own offset, so several systems can read the same data independently and replay it. This suits event streaming at high volume where data must reach many systems.

How do partitions and consumer groups work together in Kafka?

A topic is split into partitions so it can be read and written in parallel. Within a consumer group, each partition is read by only one consumer, so the number of partitions caps how many consumers in the group can work at once. Adding or removing consumers triggers a rebalance that reassigns partitions. Messages with the same key go to the same partition, which preserves the order of related events.

How do you configure a Kafka producer so messages are neither lost nor duplicated?

Set acks=all so the broker confirms only once the data is replicated to min.insync.replicas, enable retries so sends are repeated automatically after network glitches, and turn on enable.idempotence to stop retries creating duplicates. For exactly-once processing across topics, add transactions. On the consumer side, commit offsets after processing completes and make processing safe to repeat.

Who is the Apache Kafka for Event-Driven Systems course for, and what should I know beforehand?

It suits developers designing microservices, data engineers moving data between systems in real time, system architects who need flexible and resilient integration, and administrators or DevOps staff who run Kafka clusters. You should be able to read and write code in at least one language, as class examples mainly use Python, use the command line and understand basic networking.

What will I be able to do after the Apache Kafka for Event-Driven Systems course?

You will be able to set up a multi-broker Kafka cluster, design topics, partitions and keys, write producers and consumers with the right delivery guarantee, manage offsets and rebalancing, define schemas with Schema Registry, connect databases with Kafka Connect, process streams with Kafka Streams, and configure reliability and security. Participants who complete the training receive a Certificate of Completion with its own number, which can be verified online.

Can the Apache Kafka for Event-Driven Systems course be run in-house for our team?

Yes. It can be run in-house for your team, with examples adapted to your own work, such as designing topics and events for the systems your team actually needs to integrate. You can request a quotation from this page, or contact us on LINE @itgenius or by phone on 02-570-8449.