We can collaborate with you to tune this course and level of coverage to target the skills you need most. Course agenda, topics and labs are subject to adjust during live delivery in response to student skill level, interests and participation.
Introduction to Streaming Systems
- Understanding Fast data
- Streaming terminologies
- Understanding at-least-once / at-most-once / exactly-once processing patterns
- Popular streaming architectures
- Lambda architecture
- Streaming platforms overview
- Lab: Hands-on first look at Kafka
Introducing Kafka
- Comparing Kafka with other queue systems (JMS / MQ)
- Kafka Architecture
- Kaka concepts: Messages, Topics, Partitions, Brokers, Producers, commit logs
- Kafka & Zookeeper
- Producing messages
- Consuming messages
- Consumers, Consumer Groups
- Message retention
- Scaling Kafka
- Kafka across multiple data centers and disaster recovery
- Lab: Getting Kafka up and running
- Lab: Using Kafka utilities
Using Kafka APIs
- Configuration parameters
- Producer API – sending messages to Kafka
- Consumer API – consuming messages from Kafka
- Producer send modes
- Message compression
- Commits , Offsets, Seeking
- Managing offsets – auto commit / manual commit
- Lab: Writing Producer / Consumer
- Lab: Benchmarking Producer send modes
- Lab: Comparing compression schemes
- Lab: Managing offsets
- Lab: Clickstream processing
Kafka Streams API
- Introduction to Kafka Streams library
- Features and design
- Streams concepts: KStream / KTable / KStore
- Streaming operations (transformations, filters, joins, aggregations)
- Using Streams API: foreach / filter / map / groupby
- Lab: Kafka Streaming APIs
Monitoring & Troubleshooting Kafka
- Monitoring tools overview
- Monitoring Kafka
- Cluster level and host level monitoring
- Identifying performance bottlenecks
- Troubleshooting common Kafka issues
Bonus Content / Time Permitting
Kafka Best Practices
- Avoiding common mistakes
- Hardware selection
- Cluster sizing
- Partition sizing
- Zookeeper settings
- Compression and batching
- Message sizing
- Monitoring and instrumenting
- Troubleshooting
Working in a hands-on learning environment you’ll learn to:
- Implement and configure Apache Kafka effectively, demonstrating a deep understanding of its unique architecture, core concepts, and the differences between Kafka and other queue systems (JMS/MQ).
- Utilize Kafka APIs proficiently, including the Producer and Consumer APIs, and apply advanced techniques such as message compression, offset management, and Producer send modes.
- Design and develop streaming applications using the Kafka Streams API, performing complex operations like transformations, filters, joins, and aggregations, while working with KStream, KTable, and KStore concepts.
- Monitor and troubleshoot Kafka deployments, identifying performance bottlenecks, addressing common issues, and employing best practices for hardware selection, cluster sizing, partition sizing, and Zookeeper settings.
- Apply the skills and knowledge acquired throughout the course to real-world scenarios, showcasing the ability to develop, deploy, and optimize Kafka-based streaming applications for a variety of use cases.
In order to be successful in this course, and to participate in the hands-on labs, you should possess:
- Basic Java programming skills; practical Java development background.
- Reasonable experience working with databases
- Basic Linux skills and the ability to work from the Linux command line
- Basic knowledge of Linux editors (such as VI / nano) for editing code.
Ten (10) business days’ notice is required to reschedule a class with no additional fees. Notify TOPTALENT LEARNING as soon as possible at 469-721-6100 or by written notification to info@toptalentlearning.com to avoid rescheduling penalties.
Please contact our team at 469-721-6100; we will gladly guide you through the online purchasing process.
You will receive a receipt and an enrollment confirmation sent to the email you submitted at purchase. Your enrollment email will have instructions on how to access the class. Any additional questions our team is here to support you. Please call us at 469-721-6100.
If a student is 15 minutes late, they risk losing their seat to a standby student. If a student is 30 minutes late or more, they will need to reschedule. A no-show fee will apply. Retakes are enrolled on a stand-by basis. The student must supply previously issued courseware. Additional fees may apply.
You will receive a ‘Certificate of Completion’ once you complete the class. If you purchased an exam voucher for the class, a team member from TOPTALENT LEARNING will reach out to discuss your readiness for the voucher and make arrangements to send it.