Overview
This course is for enterprise architects, developers, system administrators and anyone who wants to understand and use a high-throughput distributed messaging system. If you have more specific requirements (e.g. only system administration side), this course can be tailored to better suit your needs.
Requirements
Basic system administration skills, understanding of any object oriented programming language.
Course Outline
Overview of Distributed Messaging Systems
- Use Cases
- Alternatives to Kafka
Kafka API
- Producer API
- High Level Consumer API
- Simple Consumer API
- Kafka Hadoop Consumer API
Configuration
- New Producer
- Broker
- Consumer and Producer Configuration
Design
- Motivation
- Persistence
- Efficiency
- The Producer
- The Consumer
- Message Delivery Semantics
- Replication
Implementation
- API Design
- Network Layer
- Messages
- Message format
- Log
- Distribution
Basic Kafka Operations
- Adding and removing topics
- Modifying topics
- Graceful shutdown
- Balancing leadership
- Checking consumer position
- Mirroring data between clusters
- Expanding your cluster
- Decommissioning brokers
- Increasing replication factor
Other
- Datacenters
- Important Server Configs
- Important Client Configs
- Production Server Configs
- Monitoring
- ZooKeeper