Course Outline

Introduction to Apache Kafka

  • What is Kafka and why use it?
  • Core components: Topics, Partitions, Producers, Consumers, Brokers
  • Understanding Kafka’s publish-subscribe model
  • Use cases of Kafka in real-world applications

Setting Up a Kafka Development Environment

  • Installing and configuring Kafka and ZooKeeper
  • Kafka CLI tools for topic management
  • Configuring Kafka for high availability

Kafka Producers and Consumers

  • Creating Kafka Producers in Java
  • Producing messages with keys, partitions, and acknowledgments
  • Creating Kafka Consumers in Java
  • Consumer groups and offset management

Working with Kafka Streams

  • Introduction to Kafka Streams API
  • Processing real-time data streams
  • Stateful vs. stateless processing
  • Windowing, joins, and aggregations

Ensuring Reliability and Performance

  • Kafka replication and fault tolerance
  • Optimizing producer and consumer configurations
  • Monitoring Kafka performance

Kafka Security and Authentication

  • Enabling SSL/TLS encryption
  • Configuring authentication with SASL
  • Role-based access control with Kafka ACLs

Integrating Kafka with Other Systems

  • Using Kafka Connect to integrate with databases
  • Connecting Kafka with Elasticsearch, PostgreSQL, and other data sources
  • Building event-driven microservices with Kafka

Summary and Next Steps

Requirements

  • An understanding of core Java programming
  • Basic knowledge of distributed systems and messaging systems
  • Familiarity with software development tools such as Maven or Gradle

Audience

  • Java developers looking to integrate Kafka into their applications
  • Software engineers working with event-driven architectures
  • Developers interested in learning Kafka as a distributed messaging system
 14 Hours

Testimonials (5)

Upcoming Courses

Related Categories