Kafka Advantages and Disadvantages
of Apache Kafka
Following advantages of Apache Kafka makes it worthy:
Kafka offers low latency value, i.e., upto 10 milliseconds. It is because
it decouples the message which lets the consumer to consume that message
to low latency, Kafka is able to handle more number of messages of high
volume and high velocity. Kafka can support thousands of messages in a
second. Many companies such as Uber use Kafka to load a high volume of
has an essential feature to provide resistant to node/machine failure
within the cluster.
- Durability: Kafka offers the replication
feature, which makes data or messages to persist more on the cluster over
a disk. This makes it durable.
the need for multiple integrations: All the data that a producer writes go
through Kafka. Therefore, we just need to create one integration with
Kafka, which automatically integrates us with each producing and consuming
all our data gets stored in Kafka, it becomes easily accessible to anyone.
Kafka contains a distributed architecture which makes it scalable.
Partitioning and replication are the two capabilities under the
Kafka is able to handle real-time data pipeline. Building a real-time data
pipeline includes processors, analytics, storage, etc.
uses batch-like use cases. It can also work like an ETL tool because of
its data persistence capability.
- Scalability: The quality of Kafka to handle
large amount of messages simultaneously make it a scalable software
Disadvantages Of Apache Kafka
With the above advantages, there are following limitations/disadvantages of
not have complete set of monitoring tools: Apache Kafka does not contain
a complete set of monitoring as well as managing tools. Thus, new startups
or enterprises fear to work with Kafka.
tweaking issues: The
Kafka broker uses system calls to deliver messages to the consumer. In
case, the message needs some tweaking, the performance of Kafka gets
significantly reduced. So, it works well if the message does not need to
not support wildcard topic selection: Apache Kafka does not support
wildcard topic selection. Instead, it matches only the exact topic name.
It is because selecting wildcard topics make it incapable to address
certain use cases.
and consumers reduce the performance of Kafka by compressing and
decompressing the data flow. This not only affects its performance but
also affects its throughput.
- Clumsy Behavior: Apache
Kafka most often behaves a bit clumsy when the number of queues increases
in the Kafka Cluster.
some message paradigms: Certain message paradigms such as point-to-point
queues, request/reply, etc. are missing in Kafka for some use cases.