Kafka - Advantages & Disadvantages
There are various advantages and disadvantages of Kafka.
- High throughput
Kafka can handle a greater number of messages with high volume and high velocity. Also, Kafka can support message throughput of thousands of messages in second.
- Fault Tolerance
Kafka is capable of handling node failure in the cluster without losing the data.
- Low Latency
Kafka has the capability to handle the messages with low latency that means it can handle the messages in milliseconds.
- Scalability
Kafka is capable to add additional nodes without downtime. Kafka can scale-out horizontally.
- Durability
Kafka brokers can store the messages/data on disk. Never lost the data/messages since it has the data replication across the cluster.
- Distributed System
Kafka is a distributed system which has two capabilities such as partitions and replication factor. It can scale-out horizontally.
- Real-time Handling
Kafka can create real-time data pipeline using processing systems, analytics, and storage.
- Batch Handling Capability
Kafka can do batch-like (ETL) jobs since it has persistence capability.
- Kafka does not have complete set of monitoring tools
- Kafka does not have wild card topic selection.
- Brokers and consumer pattern reduce the performance.
- Lack of a good monitoring solution as of now.
- Logging is a little hard to follow.