Course outline for kafka for beginners
This is a course that was designed to enable the learner to understand, manage, install, operate and develop on a real life deployable solution of systems using Kafka in a Unix-like operating system.
Course Objective
At the end of this course, the learner shall be able to:
- Have holistic skills for real world system deployment
- Install and operate MS SQL in unix-like operating systems
- Use Kafka in unix-like systems
- Understand Kafka in depth
- Program in Kafka using Java
- Program in Kafka using python
- Troubleshoot common kafka issues
- Understand and configure zookeeper
Prerequisite
This is a very intensive course and is designed for advanced learners. The basic requirements are:
- Understanding of how file systems work
- Programming ability in either Java or python
- Good command of the English language
In order to participate in this course, the learner needs to have access to actual unix-like remote systems, because in real-life scenarios, deployments are done on remorse servers. As such, they will require:
- Access to workstation (of any OS)
- Access to remote server (one per student)
We shall provide individual access to said servers. The students shall remote into them from their workstations during the training process.
The actual course outline shall be as follows:
Day 1:
- Kafka Theory
- Broker
- Cluster
- Zookeeper
- Ensemble
- Multiple clusters
- Ports
- Topics
- Message structure
- Partitions and distribution
- Producer and Consumer architecture
- Kafka deployment
- Operating Ubuntu Server
- Setting up IDE to work remotely with ubuntu from Windows OS
- Installing required environments
- INstalling kafka from scala binaries
- Using kafka to send and receive messages
- Send messages using the console
- Consume messages using the console
- Running multiple consumers and multiple producers
- Using Kafka with multiple partitions
- Remote brokers
- Creating multiple partitions
- Accessing specific partitions
- Accessing specific offsets
- Exploring and understanding the filing system of messages
Day 2:
- Kafka Cluster with multiple brokers
- Configurations and settings
- Launching and managing
- Using Zookeeper directly for info access on brokers
- Multiple partition topics in clusters
- Logs
- Producing and Consuming inter-cluster
- Simulating break-downs
- Multiple brokers with Replication
- Creation and launch
- Actual replication
- Logs and details exploration
- Production and consumption
- Storage management
- Break-down simulation
- Manage and recover from break-downs
- Consumer Groups
- Using the default consumer groups
- Multiple consumer groups
- Idle consumer groups
- Assessment
Day 3
- Performance and Testing
- Basic performance test
- Tweaking the parameters
- Consumer performance
- Nonzero LAG values for consumers
- Programming in Kafka
- Java
- Setup and configuration
- Starting Cluster and Producer
- Controlling Producers
- Serializers
- Auto-committing and refactoring code
- Partition assignments
- Multiple producers
- Python
- Producers in python
- Producers in python
- Hands-on development
- Java
- Assessment
Practical, connected learning
My wider training approach brings hands-on implementation and systems thinking together, connecting technology with real operational needs.