Kafka Course
Welcome
First, welcome to this course on Kafka.
Although Kafka is quite simple to install, we decided to make base it on Docker and Docker-Compose. This gives us a couple of advantages:
- Easier installation:
- As long as you can get Docker to run, we know that the Kafka installation will work
- Install docker, then simply run the docker-compose file
- Consistency between Windows, Mac and Linux
- The ability to scale up and down the Kafka cluster
Link to the labs
This link will lead you to all the labs and examples
Outline
DAY 1
- Introduction (Lecture ~ 20 min)
- Who are we?
- What is Kafka?
- Explain first lab
- Verify that everything is installed and working (Lab ~ 20 min)
- Install Kafka through Docker
- Run a simple example of Kafka
- Introduction to Kafka (Lecture ~ 30 min)
- Kafka under the hood
- What is a topic?
- What is a partition?
- What is a producer?
- What is a consumer?
- Creating a topic and pass a message (Lab ~30 min)
- Create a topic
- Run a simple consumer
- Run a simple producer
- Dissecting the first example (Lecture/Discussion ~ 30 min)
- Walk-through of the first lab
- Question and answers
- Design of Kafka topics and partitions (Lecture ~ 30 min)
- Case study
- How to select topics?
- How to select partitions?
- Exercise: Designing topics and partitions (Group Project ~ 20 min)
- Design topics and partitions
DAY 2
- Evaluation of the designs and suggested solutions (Discussion ~20 min)
- Discussion of the suggested solution(s)
- Recommended design of case study
- Implement Topics and Partitions for case study (Lab ~30 min)
- Define a topic and partition in Kafka
- Create a consumer and producer
- Run a test script
- Scaling Kafka (Lecture ~30 min)
- Kafka Brokers
- Kafka Clusters
- Cluster mirroring
- Consumer groups
- Streaming APIs for Kafka (Lecture ~20 min)
- What is streaming?
- Why use streams?
- Programming to streams
- Example streams using Spark
- Streaming and IoT Case Study (Lab ~30 min)
- Consume a stream from Kafka
- Build a Spark application over the Kafka stream
- Kafka Administration and Integration (Lecture ~30 Min)
- Integration with Big Data tools (Storm, Spark, Hadoop)
- Kafka Connect
- Certified Kafka connectors
- Kafka administration
- Kafka monitoring
- Security
- Exactly once delivery