Apache Kafka is one of the components present in Hadoop ecosystem and it actually runs with zookeeper on top of it.
Here’s a brief about kafka:
Apache Kafka is a distributed streaming platform that lets you publish and subscribe to streams of records.
Note: Publish/Subscribe is a messaging model where senders send the messages, which are then consumed by the multiple consumers.
Basically, Kafka is a data ingestion mechanism through which you can load data into Hadoop clusters in real time.
Website activity tracking, Log aggregation, Stream processing are some of the use cases of Kafka.
Kafka Architecture:
![image](https://lh3.googleusercontent.com/klV9vZbAXnLrIe8-w96Lfs-8j56NONFPmhixHbvz-T7d5DEuEGCJGIrdWRtyeC4pPJL_PcXdL7z5-Ayb2oKuRUHt8pYWQsKMOttTezVyjaqp57D1e9dQgouoRmnrSHMMbwcTeaoN)
Relate the below-given terminologies with the above Kafka Architecture: Producer: A producer can be any application who can publish messages to a topic.
Topic: A topic is a category or feed name to which records are published.
Consumer: A consumer can be any application that subscribes to a topic and consume the messages.
Broker: Kafka cluster is a set of servers, each of which is called a broker.
While, ZooKeeper is used for managing, coordinating Kafka broker. Each Kafka broker is coordinating with other Kafka brokers using ZooKeeper. Producer and consumer are notified by ZooKeeper service about the presence of new broker in Kafka system or failure of the broker in Kafka system.