Apache Kafka: Where messaging meets storage
Updated April 09, 2021
Apache Kafka: Where messaging meets storage
Score 7 out of 10
Vetted Review
Verified User
Overall Satisfaction with Apache Kafka
Apache Kafka is used by our company as the "next generation" of messaging/data-streaming pipeline solutions, to replace our old legacy JMS-based messaging solution and enable the modern streaming API based applications. When it is used for messaging purposes, we shift the responsibility of data replay from the message source (publisher application) to the message destination (consumer application). This flexibility resolved the legacy issue of sources replaying the messages but impacting all subscribers to the same topic. When Kafka is used as the streaming pipeline, it is integrated seamlessly with the Spark/Spring Stream-based analytic solutions, as it is also a kind of distributed storage.
- Undoubtedly, Kafka's high throughput and low latency feature are the highlights.
- Kafka can scale horizontally very well.
- The CLI and configuration details need to be worked out more in-depth. The naming convention of configuration is not so good and causing a lot of confusion. Sometimes there are too many configuration parameters to tune--requires the adopter to understand a lot of tricks like NFS entrapment, for example.
- Lack of a good monitoring solution so far
- Kafka makes the messaging itself more reliable (as it has the distributed storage by itself and the message doesn't disappear even after it has been consumed).
- Kafka can support a much higher volume use case, without too much extra pressure on the existed hardware.
Kafka is not a real messaging broker implementation as RabbitMQ or TIBCO EMS/JMS are. Although it can be used as messaging, we like the idea behind the Kafka (data isn't "passing by," instead it remains centra, so the client can revisit the data if necessary). This also relieves the pressure of keeping the old duplicated data copy on both the publisher and the consumer sides.
Do you think Apache Kafka delivers good value for the price?
Yes
Are you happy with Apache Kafka's feature set?
Yes
Did Apache Kafka live up to sales and marketing promises?
Yes
Did implementation of Apache Kafka go as expected?
Yes
Would you buy Apache Kafka again?
Yes