What is apache kafka?
Apache Kafka is an open-source distributed event streaming platform (Kafka is a distributed pub-sub messaging system that keeps track of streams of events)
Why do we need Kafka?
Allows us to have a single source of events ( someones sends events, someone subscribes to these events). That’s allow not to build relations between each services directly.
Where we can use Kafka? For what cases?
What is kafka producer? What is acknowledgment?
Producer writes data to topic. There 3 types of acknowledgment
0 -> Don’t check if data was written to broker
1 -> Ensure that data was written to the leader broker
2 -> Ensure that data was written to the leader broker and all replicas
What is kafka consumer? How to send a message?
Consumer reads data from the topic.
What is Zookeper?
Zookeper maganages brokers and helps to find the leader.
What is kafka topic? partition? offset?
A particular stream of data ( Similar to the table in DB)
Each topic contains partition ( similar to db row ), Each partition contains offset ( id )
What is kafka broker?
Something like servers to handle kafka partitions.
What is topic replication factor?
Is a number which describe how many copies of partition we need to send to different brokers. ( To avoid losing data )