Apache Kafka Reviews

44 Ratings
<a href='https://www.trustradius.com/static/about-trustradius-scoring' target='_blank' rel='nofollow noopener noreferrer'>trScore algorithm: Learn more.</a>
Score 8.6 out of 101

Do you work for this company?

Overall Rating

Reviewer's Company Size

Last Updated

By Topic

Industry

Department

Experience

Job Type

Role

Reviews (1-4 of 4)

No photo available
Score 9 out of 10
Vetted Review
Verified User
Review Source
We use Kafka for two key features: (1) keeping a buffer of all the incoming records that need to be stored in our data infrastructure, and (2) having a way to replay messages in case our data infrastructure loses some data.
The reason we need to buffer is that when our traffic spikes, we can have up to 1 million messages coming in that need to be processed in some form or fashion. To expect the back-end service to support that is crazy. Instead, we dump them into Kafka to give our data infrastructure time to ingest them. As for replaying events, sometimes the ingestion pipeline fails and drops some messages. I know - that's a huge mistake on our engineering team's part - but when it does happen Kafka has the ability to rewind and replay messages, resulting in delayed processing but no data loss.
  • Really easy to configure. I've used other message brokers such as RabbitMQ and compared to them, Kafka's configurations are very easy to understand and tweak.
  • Very scalable: easily configured to run on multiple nodes allowing for ease of parallelism (assuming your queues/topics don't have to be consumed in the exact same order the messages were delivered)
  • Not exactly a feature, but I trust Kafka will be around for at least another decade because active development has continued to be strong and there's a lot of financial backing from Confluent and LinkedIn, and probably many other companies who are using it (which, anecdotally, is many).
  • Doesn't work well with many small topics (on the order of thousands). There is a physical limit due to file handler usage on the number of topics Kafka can have before it grinds to a halt. This is not an issue for most people but it became an issue for us, as we need to have many, many topics and so we weren't able to fully migrate to Kafka except for a few of our big queues.
  • Lack of tenant isolation: if a partition on one node starts to lag on consume or publish, then all the partitions on that node will start to lag. That's what we've noticed and it's really frustrating to our customers that another customer's bad data affects them as well.
  • I don't have tooo much experience here, but I hear from other engineers on my team that the CLI admin tool is a real pain to use. For example, they say the arguments have no clear naming convention so they are hard to memorize and sometime you have to pass in undocumented properties.
Despite the disadvantages I list, I really believe that Kafka is the right choice whenever you need a queueing or message broker system. Kafka is way too battle-tested and scales too well to ever not consider it. The only exception is if your use case requires many, many small topics. Also, Kafka doesn't support delay queues out of the box and so you will need to "hack" it through special code on the consumer side.
Read this authenticated review
No photo available
Score 10 out of 10
Vetted Review
Verified User
Review Source
Apache Kafka is used as a stream/message ingestion engine for all the customer-facing apps including some internal streams company-wide. It is used to ingest close to 2-5 million small (few bytes) messages per second that are then used for internal analytics and decision making in realtime and feed analytics backend (Tibco Spotfire).
  • Apache Kafka is able to handle a large number of I/Os (writes) using 3-4 cheap servers.
  • It scales very well over large workloads and can handle extreme-scale deployments (eg. Linkedin with 300 billion user events each day).
  • The same Kafka setup can be used as a messaging bus, storage system or a log aggregator making it easy to maintain as one system feeding multiple applications.
  • Apache Kafka does take some initial setup and deployment time especially if you haven't bought support from Confluent.
  • It is not a full solution so for an analytics use case, you will still need something like Tibco.
  • It does not have a SQL based query engine out-of-the-box so building/using analytics on top can be a lot of work. It would be great to have something already baked into Kafka out-of-the-box.
Apache Kafka is very well suited where the deployment entails getting a very large number of small messages at extremely high rates—4 million-plus messages a second. It is also very well suited when you need stronger ordering guarantees than a traditional messaging system can provide. It is less suited when you don't need such high message ingestion rates and need to do everything in a public cloud. Apache Kafka will be an overkill for such small/simple deployments.
Read this authenticated review
No photo available
January 29, 2019

Kafka quick queue

Score 8 out of 10
Vetted Review
Verified User
Review Source
We are using Kafka as an ingress and egress queue for data being saved into a big data system. Kafka is also being used as a queue for frontend applications to use in order to retrieve data and analytics from MapR and HortonWorks.
  • Fast queuing
  • Easy to set up and configure
  • Easy to add and remove queues
  • User interface for configuration could be a little better
  • Could be a little more defined when configuring files
  • Logging is a little hard to follow
If you need a queue for ingest or user interfaces Kafka is a great tool. Easy on the admins as well as the developers.
Read this authenticated review
Juan Francisco Tavira profile photo
Score 9 out of 10
Vetted Review
Verified User
Review Source
Apache Kafka is becoming the new standard for messaging at our organization. Originally we limited the use to big data environments and projects but as the technology is becoming more mature we think it will eventually replace classical messaging software.
  • High volume/performance throughput environments
  • Low latency projects
  • Multiple consumers for the same data, reprocessing, long-lasting information
  • Still a bit inmature, some clients have required recoding in the last few versions
  • New feaures coming very fast, several upgrades a year may be required
  • Not many commercial companies provide support
Apache Kafka is extremely well suited in near real-time scenarios, high volume or multi-location projects. It can solve escalation problems for a fraction of the cost other solutions do and it has the flexibility of open source scenarios.
Read Juan Francisco Tavira's full review

About Apache Kafka

Apache Kafka is an open-source stream processing platform developed by the Apache Software Foundation written in Scala and Java.
Categories:  Message Queue

Apache Kafka Technical Details

Operating Systems: Unspecified
Mobile Application:No