Availability : Open Source Stream- processing software
Written in : Java and Scala
It is a publish-subscribe messaging system, which is fast, scalable, durable, and fault-tolerant
Kafka is often used in place of traditional message brokers like JMS and AMQP because of its higher throughput, reliability and replication.
It is one of the general-purpose messaging systems that supports a wide range of use cases especially, for the demand for high throughput, reliable delivery, and horizontal scalability.
Apache Storm and Apache HBase both work very well in combination with Kafka.
With the increase of volume of data, the framework often faces two main challenges. The first challenge is how to collect a large volume of data, and the second challenge is to analyze the collected data. To overcome these challenges, we must need a messaging system.
Kafka provides better throughput, built-in partitioning, replication, and inherent fault-tolerance compared to other messaging systems, hence, it is more applicable for large-scale message processing applications.
Scalability
Data Transformations
Fault tolerance
Reliability
Durability
Performance
Extensibility
Zero downtime and zero data loss
Replication