Apache Kafka Flashcards
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?
- messaging system ( communication between microservices )
- gather metrics
- Logs gathering
- De-coupling of system dependency
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 )