0% found this document useful (0 votes)
58 views

Event Driven Architecture With Kafka

Uploaded by

Sonu Sharma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views

Event Driven Architecture With Kafka

Uploaded by

Sonu Sharma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Event driven Architecture with Kafka

Program Details
Topic Apache Kafka & Streaming Distributed Messaging Training
Scope Confluence Kafka Enterprise 5.x Kafka
2.x Version
Level Intermediate and Advanced
Languages Java 1.8 64 bit

Lab Setup

Host Machine 64bit Windows/Linux/Mac [Linux is preferred]


Virtual 64bit Linux OS [Mint/Ubuntu OS Based]
Machine
Host Machine 16 GB if developer wants to use Virtual Machine
RAM
RAM 8 GB if developer can use Linux/Mac machine directly without Host Machine

Setup 16 GB RAM
Requirements 40-50 GB GB Free harddrive

OS: Windows 10/Ubuntu Desktop/Mac


Cloud Trainer provides cloud machine for each participant with 160 GB SSD Harddrive, 4
Machine vCPU and 8 GB RAM for participants, cost about 5 Euros per participant. The VM shall
be only for training period. Maximum 15 VMs provided, team need to share
themselves.

For Cloud, the setup shall be done by trainer.


Lap Setup 1. Java 1.8 Java SDK from
https://www.oracle.com/technetwork/java/javase/downloads/jdk8downloads-
2133151.html
2. Intellij Community Edition for Java Development
https://www.jetbrains.com/idea/download/

3. https://www.putty.org/ or https://gitforwindows.org/
4. https://www.confluent.io/download download the Confluent platform free,
need to provide email id.
Event driven Architecture with Kafka

Participants Pre-requites

JDK Good Knowledge on Using JDK, Compiler Setup & Java.


Good Working knowledge on Java /Exposure to Reactive
Programming for Streaming

Maven & POM XML Good Knowledge on Maven & POM XML files handling
Highspeed Internet Access to Highspeed Internet
Editor Good expertise in using IntelliJ/Eclipse Editor
Preferred, but not High level understanding of AMQP
mandatory Understanding Producer and Consumer Design Patterns
Message Queuing
Distributed Systems
Stream vs Batch Processing
SSH Gitbash for windows
SSH client for Linux/Mac/Windows

Day 1
Event driven Architecture with Kafka

Introduction Introduction

Kafka Introduction
Kafka Features
Kafka vs AMQP
Kafka Features
Kafka Real Use Cases

Enterprise Software Digital Software Transformation From Monolithic to


Architecture MicroServices to Serverless Applications

Event-Driven Architecture ( EDA )

- MicroServices
- Serverless
- FaaS
- Streaming
- Event Sourcing
- CQRS

Reactive Manifesto

Kafka Case Studies - MicroServices Log Analysis


- Invoice Processing
- Distributed Transaction Management with SAGA
Pattern
- Data Migration between databases

Kafka Architecture Elements of Kafka [Consumer, Producer, Broker, ZooKeeper,


Cluster]
Kafka Architecture
Kafka Overall Messaging Architecture
Kafka Streaming Architecture
Kafka Consumer and Producer Architecture
Kafka Persistence Architecture
Kafka Clusters
Kafka Consumer Workers Group
Event driven Architecture with Kafka

Kafka Distribution Apache Kafka


Confluence Kafka Open Source
Confluence Kafka Enterprise
Kafka Setup Java JDK
Kafka Setup
[Hands-on] Zookeeper Configuration
Single Broker Configuration
Understanding build-in tools, Kafka server, test publisher, test
consumer
Configuration Kafka Single Node Broker

Start ZooKeeper
Start Kafka Server
Using Example console consumer and publisher

Broker, Consumer, Producer Configuration

Zookeeper connection
Broker ID
Logs
Port

Consumer Configuration
Producer Configuration
Kafka Administrator List all topics
Commands List all brokers Create Topics
Change Topics
[Hands-on] Delete Topics
Topic Description

Topics & Partitions Understanding Topics


Understanding Partitions
Understanding Replications
Event driven Architecture with Kafka

Producer Kafka Producer Introduction


Kafka Producer API
[Hands-on] Writing First Producer
Kafka Producer Class

Build a Kafka Producer


Configure Producers

Kafka Topics, Partitions Configuration


Send messages to Kafka
Send messages Synchronously
Send Message Asynchronously and process the async
acknowledgement
Producing Keyed and Non-Keyed Messages
Serializers, Key/Value Serializer, ProducerRecord
Serialize Using Apache Avro, JSON

Working with Multiple Brokers


Consumer [Hands-on] Kafka Consumer Introduction
Consumers and Consumer Groups
Subscribe for Topics
Consumer Records
Achieving higher performance with Consumer group De-
serialize key and values

Consumer Groups and Partition Rebalance


Creating a Kafka Consumer
The Poll Loop
Configuring Consumers
Commits and Offsets
Rebalance Listeners
Consuming Records with Specific Offsets
Kafka Internal Architecture, Cluster Membership
Storages, Cluster, Partitions The Controller
in Depth Replication workflow, Replication Internals
Request Processing
Physical Storage
Reliability
Partition allocation and number of partitions
Broker Configuration
Using Producers in a Reliable System
Using Consumers in a Reliable System
Validating System Reliability
Performance Tuning in Kafka
Event driven Architecture with Kafka

Day 2

Cluster Architecture and Revising Cluster, Producer, Consumer, Broker, ZooKeeper


Workflow
Data Flow Between all actors in Kafka Systems

Creating Clusters with Multiple Brokers


Broker IDs and Master/Slave Brokers
Fail-over handling in clusters
Understanding Leader Broker
Balancing leadership
Cluster Administration and Configure Cluster
Configuration Replication
[Hands-on] High Availability
Multi-Cluster Architectures
Apache Kafka’s MirrorMaker

Topic Operations

Partition in Depth [Hands-on] Topics and Partitions


Understanding partition numbers
Default partitions
Explicit Partitions
Under the hood partitions
Replications Understanding Replications
Replication Factors and High Availability
Messages in Details Message Models
Message Serialize
[Hands-on] JSON handling
Message IDs

Day 3

Persistence [Hands-on] Persisting Messages on File System


Offline Consumer and Subscription handling
Durability of Messages
Failover and Persistence
Event driven Architecture with Kafka

Kafka Streaming Stream Processing


Stream-Processing Concepts
[Hands-on] Stream-Processing Design Patterns
Kafka Streams by Example
Kafka Streams: Architecture Overview
KStream
KTable
GlobalKTable
KStream to KTable
KTable to KSTream
Stateful/Stateless stream operation
KSQL Kafka and KSQL
KStream and KTable
Creating and running persistent and non-persistent quries
Zoo Keeper Administration Managing Zookeeper Cluster
Zookeeper lead, configurations
[Hands-on]

Day 4

Kafka Monitoring Considerations When Building Data Pipelines


Metric Basics
Kafka Broker Metrics
Client Monitoring
Lag Monitoring
End-to-End Monitoring
Kafka Connect APIs + Event Kafka Connect API overview Kafka
Sourcing + Elastic Search Connect
When to Use Kafka Connect?
[Hands-on] Kafka Connect Properties
Perform File source and sink using Kafka Connect
Kafka Connect vs Consumer/Producer model
Kafka Connect with JDBC [Requires PostgreSQL/MySQL]

Using Kafka with ElasticSearch


Event sourcing using Debizium with PostgreSQL
Kafka Connect architecture and design
Connectors, Configurations, Tasks, Workers
Stand-alone vs distributed mode
Event driven Architecture with Kafka

REST Proxy Managing REST Proxy Configuration

[Hands-on]
Kafka Connect Configuration Managing Kafka Connect
& Administration Managing Sink/Sources
Configuration and settings
[Hands-on]
Confluence Control Centre Introduction to Confluent Control Center
Managing Control Center and Dashboard Kafka
[Hands-on] Monitoring
Schema Registry Managing Schema Registry services
Configuration &
Administration

[Hands-on]
Kafka with Spring Spring-Kafka module
Configuring KafkaTemplate
Produce & Consume Messages with Kafka Template
Spring-cloud-stream with Kafka binder
KStream
KTable
Production Deployment
Configuration, cleaner installation

You might also like