Apache Kafka is a real-time data pipeline processor. It high-scalability, fault tolerance, execution speed, and fluid integrations are some of the key hallmarks that make it an integral part of many Enterprise Data architectures. In this lab intensive two day course, students will learn how to use Kafka to build streaming solutions.
This “skills-centric” course is about 50% hands-on lab and 50% lecture, coupling the most current techniques with the soundest industry practices. Throughout the course students will be led through a series of progressively advanced topics, where each topic consists of lecture, group discussion, comprehensive hands-on lab exercises, and lab review.
Working in a hands-on learning environment, students will explore
- Overview of Streaming technologies
- Kafka concepts and architecture
- Programming using Kafka API
- Kafka Streams
- Monitoring Kafka
- Tuning / Troubleshooting Kafka
Need different skills or topics? If your team requires different topics or tools, additional skills or custom approach, this course may be further adjusted to accommodate. We offer additional Kafka, big data / data science, Hadoop, Apache tooling, DevOps, database, programming and other related topics that may be blended with this course for a track that best suits your needs. Our team will collaborate with you to understand your needs and will target the course to focus on your specific learning objectives and goals.
This in an Introductory and beyond level course is geared for experienced Java developers seeking to be proficient in Apache Kafka. Attendees should be experienced developers who are comfortable with Java, and have reasonable experience working with databases. Students should also be able to navigate Linux command line, and who have basic knowledge of Linux editors (such as VI / nano) for editing code.
Please see the Related Courses tab for specific Pre-Requisite courses, Related Courses that offer similar skills or topics, and next-step Learning Path recommendations.
Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We’ll work with you to tune this course and level of coverage to target the skills you need most.
- Introduction to Streaming Systems
- Fast data
- Streaming architecture
- Lambda architecture
- Message queues
- Streaming processors
- Introduction to Kafka
- Comparing Kafka with other queue systems (JMS / MQ)
- Kaka concepts : Messages, Topics, Partitions, Brokers, Producers, commit logs
- Kafka & Zookeeper
- Producing messages
- Consuming messages (Consumers, Consumer Groups)
- Message retention
- Scaling Kafka
- Labs : Getting Kafka up and running; Using Kafka utilities
- Programming With Kafka
- Configuration parameters
- Producer API (Sending messages to Kafka)
- Consumer API (consuming messages from Kafka)
- Commits , Offsets, Seeking
- Schema with Avro
- Lab : Writing Kafka clients in Java; Benchmarking Producer APIs
- Kafka Streams
- Streams overview and architecture
- Streams use cases and comparison with other platforms
- Learning Kafka Streaming concepts (KStream, KTable, KStore)
- KStreaming operations (transformations, filters, joins, aggregations)
- Labs: Kafka Streaming labs
- Administering Kafka
- Hardware / Software requirements
- Deploying Kafka
- Configuration of brokers / topics / partitions / producers / consumers
- Security: How secure Kafka cluster, and secure client communications (SASL, Kerberos)
- Monitoring : monitoring tools
- Capacity Planning : estimating usage and demand
- Trouble shooting : failure scenarios and recovery
- Monitoring and Instrumenting Kafka
- Monitoring Kafka
- Instrumenting with Metrics library
- Labs; Monitor Kafka cluster
- Instrument Kafka applications and monitor their performance
Optional Case Study / Workshop (Time-Permitting)
Students will build an end-to-end application simulating web traffic and send metrics to Grafana
Student Materials: Each participant will receive a Student Guide with course notes, code samples, software tutorials, step-by-step written lab instructions, diagrams and related reference materials and resource links. Students will also receive the project files (or code, if applicable) and solutions required for the hands-on work.
Hands-On Setup Made Simple! Our dedicated tech team will work with you to ensure our ‘easy-access’ cloud-based course environment is accessible, fully-tested and verified as ready to go well in advance of the course start date, ensuring a smooth start to class and effective learning experience for all participants. Please inquire for details and options.