BSR Tutorials

Kafka - Advantages & Disadvantages

There are various advantages and disadvantages of Kafka.

Advantages:

  1. 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.
  2. Fault Tolerance
    Kafka is capable of handling node failure in the cluster without losing the data.
  3. Low Latency
    Kafka has the capability to handle the messages with low latency that means it can handle the messages in milliseconds.
  4. Scalability
    Kafka is capable to add additional nodes without downtime. Kafka can scale-out horizontally.
  5. Durability
    Kafka brokers can store the messages/data on disk. Never lost the data/messages since it has the data replication across the cluster.
  6. Distributed System
    Kafka is a distributed system which has two capabilities such as partitions and replication factor. It can scale-out horizontally.
  7. Real-time Handling
    Kafka can create real-time data pipeline using processing systems, analytics, and storage.
  8. Batch Handling Capability
    Kafka can do batch-like (ETL) jobs since it has persistence capability.

Disadvantages:

  1. Kafka does not have complete set of monitoring tools
  2. Kafka does not have wild card topic selection.
  3. Brokers and consumer pattern reduce the performance.
  4. Lack of a good monitoring solution as of now.
  5. Logging is a little hard to follow.
Tutorial #1: Kafka - Introduction
Tutorial #3: Kafka - Advantages & Disadvantages (current page)
Tutorial #4: Kafka - Use Cases
Tutorial #5: Kafka - Clients