Duration
Apache Kafka and Integration with Spring (Advanced)
1 day
Overview
Apache Kafka is a distributed streaming platform that allows for the real-time handling of high volumes of data across various systems. It was originally developed by LinkedIn and later open-sourced as part of the Apache Software Foundation. Kafka is designed to address the challenges of high throughput, low latency, and scalability for data streaming applications.
The overall objectives of this Kafka course are to equip participants with a comprehensive understanding of Apache Kafka, a powerful distributed streaming platform used for real-time data processing.
Participants will gain foundational knowledge of Kafka's architecture, including its role as a key component in modern data infrastructures for handling high-throughput, low-latency data streams. They will learn how to install, configure, and manage Kafka clusters, enabling them to produce, consume.
Course Objectives
- Gain an in-depth knowledge of Kafka’s architecture, core components (and its role as a distributed streaming platform in modern data ecosystems.
- Learn to install, configure, and manage Kafka clusters and using Kafka Command Line Interface (CLI) tools for efficient cluster administration.
- Develop expertise in using Kafka Producer and Consumer APIs to handle real-time data streams
- Learn best practices for securing Kafka, ensuring fault tolerance, and optimizing performance for high availability.
- Integrate Kafka with the Spring framework to build a powerful enterprise-level applications.
Pre-requisite
Knowledge in Java and Spring Boot is required for this course
Target Audience
Software developers, data engineers, DevOps professionals, data analysts, and enterprise architects, who need to harness real-time data streaming, whether to build scalable applications, manage data pipelines, or implement robust IT infrastructure.
Course Methodology
Theoretical lectures and hands-on labs to ensure comprehensive understanding and practical application of Apache Kafka concepts.
Course Outline
- Introduction to Kafka
- Overview of Kafka
- Kafka as a Distributed Streaming Platform
- Use Cases for Kafka
- Key Concepts: Producers, Consumers, Brokers, Topics, Partitions
- Setting Up Kafka
- Kafka Installation and Configuration
- Starting Kafka Broker
- Creating Kafka Topics
- Producing and Consuming Messages
- Kafka CLI Tools
- Kafka Producer API
- Overview of Kafka Producer API
- Producer Configuration
- Sending Messages with Producer API
- Producer Callback and Asynchronous Sends
- Key Serialization
- Partitioning Strategies
- Kafka Consumer API
- Overview of Kafka Consumer API
- Consumer Configuration
- Reading Messages with Consumer API
- Consumer Groups and Offsets
- Manual and Automatic Offset Management
- Kafka Streams API
- Introduction to Kafka Streams
- Stream Processing Concepts
- Building Stream Processing Applications
- Stateless and Stateful Transformations
- Joining Streams and Tables
- Aggregations and Windowing
- Advanced Kafka Topics
- Kafka Connect: Integrating with External Systems
- Kafka Security: Authentication and Authorization
- Kafka Cluster Management and Monitoring
- Handling Fault Tolerance and High Availability
- Performance Tuning and Optimization
- Kafka with Spring
- Spring Kafka Integration
- Setting up Spring Kafka
- Producing and Consuming Messages with Spring Kafka
- Kafka Listener and Message Conversion
- Error Handling and Retries in Spring Kafka
- Spring Kafka Configuration Best Practices
Programme scope, delivery arrangements and suitability are confirmed during enquiry.