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.
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 1Kafka 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 2Producers, 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 3Streams, 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
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.
Many organizations already own BI tools such as Power BI or Tableau, yet still struggle with data preparation: pulling data from several systems by hand, cleaning it in Excel, and constantly finding that numbers do not match between reports. This course fills…
When a system fails or slows down, the first question is how you find out and how fast. Many organizations still learn about problems from customer calls rather than from their own monitoring. Prometheus and Grafana are the open-source standard that DevOps…
Building and changing infrastructure by hand through a web console creates inconsistency, leaves no audit trail and makes it hard to reproduce an environment. Terraform solves this by expressing infrastructure as code that lives in Git, is reviewed through…
18 hours3 days
9,450THB10,500 THB
View details
Apache Kafka for Event-Driven Systems18 hrs · 3 days