Apache Kafka
Apache Kafka
Apache Kafka
Apache Kafka is like a communication system that help different parts of a
computer system exchange data by publishing and subscribing to topic
Subscriber
Publisher
Sender Apache Kafka Receiver
Why we use Apache Kafka
• Ola driver location update
• Zomato live food tracking
• Notification system to huge users
• Increase database throughput
Zomato boy
• Difficult to read write at frequent
basic
Zomato server
Zomato Boy
Update
User
Publish
Zomato
server
Kafka
Topic
Bulk Batch OP
Kafka Architecture
Kafka cluster
Kafka Ecosystem
Offset Kafka Broker 1
Topic A
Topic A Partition
Producer Consumer
Topic B
Kafka Broker 2
Zookeeper
Key concepts
• Kafka Ecosystem: The Kafka ecosystem refers to the entire suite of tools,
libraries, and components that complement Apache Kafka for building real-time
data pipelines, stream processing applications, and other distributed systems.
• Kafka Topic: A Kafka topic is a category or feed name to which messages are
published by producers. Topics are divided into partitions to allow parallelism and
scalability within a Kafka cluster. Each message published to a topic is appended
to one of its partitions.
• Kafka Broker: A Kafka broker is a Kafka server that runs in a Kafka cluster. It stores
and manages partitions, handles producer requests, and serves consumer
requests. Brokers are responsible for storing and replicating data across the
cluster.
• Kafka Cluster: A Kafka cluster is a group of Kafka brokers working together to
store and manage topics and handle the load from producers and consumers.
Kafka clusters provide scalability, fault tolerance, and high availability by
distributing data partitions across multiple brokers.