Apache Kafka Essential Training: Building Scalable Applications

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 1h 17m | 197 MB

Scalable and distributed message queuing plays an important role in building real time big data pipelines. Asynchronous publisher/subscriber models are required to handle unpredictable loads in these pipelines. Apache Kafka is the leading technology today that provides these capabilities and is an essential skill for a big data professional. In this course, Kumaran Ponnambalam provides insights into the scalability and manageability aspects of Kafka and demonstrates how to build asynchronous applications with Kafka and Java. Kumaran starts by demonstrating how to set up a Kafka cluster and explores the basics of Java programming in Kafka. He then takes a deep dive into the various messaging and schema options available. Kumaran also goes over some best practices for designing Kafka applications before finishing with a use case project that applies the lessons covered in the course.

Table of Contents

1 Why are Kafka skills so high in demand

Introduction to Kafka
2 What is Kafka-
3 Prerequisites for the course
4 Kafka scaling and resiliency
5 Setting up the exercise files

Kafka Scaling Concepts
6 Clusters and controllers
7 Replication
8 Partition leaders
9 Mirroring
10 Security

Building a Kafka Cluster
11 Kafka cluster setup
12 Running the cluster
13 Creating topics with replication
14 Kafka cluster in action
15 Kafka resiliency in action

Building Scalable Producers
16 Producer internals
17 Producer publishing options
18 Acknowledgments in Kafka
19 Additional producer parameters
20 Java producer options example

Building Scalable Consumers
21 Consumer How it works
22 Batching message consumption
23 Committing messages
24 Java consumer example
25 Multi-threaded consumers

Kafka Best Practices
26 Managing partition counts
27 Managing messages
28 Managing consumer settings
29 Managing resiliency

Use Case Project
30 Kafka applications use case Problem definition
31 Setting up topics
32 Producing data in Java
33 Consuming data in Java

34 How can you extend your Kafka learning journey