In addition to these components, there are some important components in a Kafka deployment without which the Kafka won't work as intended. These are a couple of the important components that could be used:
- Zookeeper
- MirrorMaker
Zookeeper is one of the very important hidden component, needed (mandatory) for Kafka to function properly. It is entrusted to do the following jobs:
- Taking care of bringing each broker into the cluster membership.
- Electing the Kafka controller which does some very important functions within the cluster such as managing the state of partitions and their replicas.
- Complete topic configurations like number of partitions, leader partitions election, partition replication location and so on.
- Access control list maintenance and various quotas within each broker.