TrustRadius: an HG Insights company
Apache Kafka Logo

Apache Kafka Reviews and Ratings

Rating: 8.5 out of 10
Score
8.5 out of 10

Community insights

TrustRadius Insights for Apache Kafka are summaries of user sentiment data from TrustRadius reviews and, when necessary, third party data sources.

Pros

Fault tolerance and high scalability: Users have consistently praised Apache Kafka for its fault tolerance and high scalability. Many reviewers have stated that Kafka excels in handling large volumes of data and is considered a workhorse in data streaming.

Ease of administration: Reviewers appreciate Kafka's ease of administration, noting that it offers an abundance of options for managing and maintaining queues. Multiple users have mentioned that the platform allows for easy expansion and configuration of cluster growth, making it straightforward to administer.

Real-time streaming capabilities: Kafka's real-time streaming capabilities are seen as a significant advantage by users. Several reviewers have highlighted the platform's ability to handle real-time data pipelines and its resistance to node failure within the cluster. This feature enables users to process asynchronous data efficiently and ensures continuous availability of the system.

Reviews

19 Reviews

The versatile Apache Kafka

Rating: 8 out of 10
Incentivized

Use Cases and Deployment Scope

We use Apache Kafka for asynchronous communication.

For any processing that we need to do on background, we use Apache Kafka. We also set the configurations in such a way so that we can use it for retrying messages in a topic.

We also use it for data streaming which powers our data platform.

Pros

  • Its extremely fast. It is able to deliver messages very quickly.
  • It is very reliable, I have not yet seen any cases where messages might have dropped
  • Using different configurations we can model it any way and cater to large number of business use cases.

Cons

  • If there can be some way of scheduling messages to reappear that would be great.
  • There should be functionality of decreasing the partitions on the fly so that we can scale down when needed.
  • Apache Kafka should have better consumer UI view so that we can more details on the consumers attached.

Likelihood to Recommend

It is well suited for any asynchronous programming use case. It is also a good fit for the data streaming use case. It is not suited for use cases where batching of messages is needed.

Apache Kafka - Default Choice For Large Scale Messaging

Rating: 8 out of 10

Use Cases and Deployment Scope

Apache Kafka is really the bedrock of all things streaming and data processing. I cannot imagine if there is any other product that does it better. My last 2 companies used it, and my current one does so as well. If you want your data stream to be organized and sent, Apache Kafka has become the tool of choice. I have dabbled in Azure EventHubs as well, if you are into opensource data streaming, Apache Kafka will take you where you need to be for data lakes and the amount of data that is streamed for the cybersecurity industry that my company is in. Without Apache Kafka, there is no way that my company products can handle the volume of data that we process for our customers.

Pros

  • Data streaming is really second to none.
  • Scaling, done right, Apache Kafka is a workhorse.
  • Ease of administration - Although you cannot really compare to Azure EventHubs, but that is comparing between Apples and Oranges.

Cons

  • The web UI has not really changed in years. UX has been refreshed, but a more streamlined UX instead of many 3rd party webUX tools, will be most welcome.
  • Webhooks can still be tricky to troubleshoot at times.
  • CLI monitoring is a learning curve to get it right.

Likelihood to Recommend

Apache Kafka is well-suited for most data-streaming use cases. Amazon Kinesis and Azure EventHubs, unless you have a specific use case where using those cloud PaAS for your data lakes, once set up well, Apache Kafka will take care of everything else in the background. Azure EventHubs, is good for cross-cloud use cases, and Amazon Kinesis - I have no real-world experience. But I believe it is the same.

Apache Kafka - FTW

Rating: 9 out of 10
Incentivized

Use Cases and Deployment Scope

We use Apache Kafka as message broker between our two client facing applications. We used ActiveMQ before but it had shortfalls of high availability and clustering. Kafka solved it on both fronts and gives a good business continuity.

Pros

  • High availability
  • performance
  • Admin user interface

Cons

  • zookeeper logs could be better
  • monitoring

Likelihood to Recommend

It is well suited if you want to use a message broker between two applications with high availability. Its also can be used as streaming replication for data.

Vetted Review
Apache Kafka
6 years of experience

A Deep Dive into the Power and Potential of Apache Kafka

Rating: 10 out of 10
Incentivized

Use Cases and Deployment Scope

We use Apache Kafka as an event bus for all our async activities & Micro Service Communication, like sending emails, SMS, and notifications between services and consumers and for event & data processing.

Pros

  • Event driven architectures
  • Any use case which requires async data processing
  • Any use case with production and consuming the same data to build business-specific processing

Cons

  • Zookeeper services configuration can be simplified
  • Data logging needs to be secured
  • Restarting & overall management needs to be improved

Likelihood to Recommend

- It's Super fast - Has some learning curve but once mastered it brings scale - All logics that need producer & consumer kind of implementation (Bulk Notification, etc) - Event-driven architectures can be implemented with Apache Kafka

Kafka for tracking changes

Rating: 8 out of 10

Use Cases and Deployment Scope

We use Apache Kafka to stream order information across systems. An order may go through certain updates through its lifecycle. These updates need to be communicated to the systems in near real time and we rely on Kafka for this.Our business use case is to take these orders up with the insurance companies for approval and thus the order information need to be up to date. Kafka has been excellent at doing this so far.

Pros

  • Receiving messages from publisher and sending to consumer in FIFO manner
  • Handling of errors using Dead Letter Queue when message could not be consumed on the consumer end
  • Fault tolerance

Cons

  • Sometimes it becomes difficult to monitor our Kafka deployments. We've been able to overcome it largely using AWS MSK, a managed service for Apache Kafka, but a separate monitoring dashboard would have been great.
  • Simplify the process for local deployment of Kafka and provide a user interface to get visibility into the different topics and the messages being processed.
  • Learning curve around creation of broker and topics could be simplified

Likelihood to Recommend

Kafka is well suited in scenarios where a message need to be sent to another system in fault tolerant manner. It is useful when the message size could be large and large number of messages could be floating around.

It would be less appropriate or rather an overkill to use Kafka in scenarios where we are sending short messages to offload certain tasks(like invoice generation and sending email) to a worker(like celery). For such use cases, simple queueing solutions like Amazon SQS should suffice.

Confluent Kafka for messaging.

Rating: 6 out of 10
Incentivized

Use Cases and Deployment Scope

Currently consulting and implementing for a bank, we use a cloud-native Kafka solution (Confluent Kafka) for brokering. The solution is well documented, and liked by the developers but lacks certain technical aspects to improve usability and administration.

Pros

  • Brokering
  • Topic definition.

Cons

  • Private access to a cluster.
  • Visualisation solutions.

Likelihood to Recommend

For brokering messages, Confluent Kafka is well suited since it offers a managed solution ready to use. Scenarios where the solution is not very well suited are for example, where pricing is an issue. The solution costs quite a lot for basic usage (for example: for 3 clusters, pricing is above 100k$ a year).

Vetted Review
Apache Kafka
2 years of experience

Kafka: Best Streaming Platform on the Market

Rating: 10 out of 10
Incentivized

Use Cases and Deployment Scope

Apache Kafka is the most powerful and scalable streaming framework on the market. We have used Apache Kafka as a part of many real-time analytics solutions. It has a great performance [and is] easy to integrate with big data technologies like Spark. Due to its distributed nature, Apache Kafka is capable of operating very quickly and can handle millions of messages every second.

Pros

  • Real time streaming
  • Performance
  • Scalability

Cons

  • Management tools

Likelihood to Recommend

I have used Apache Kafka for real-time analytics and streaming. It’s highly scalable and integrates well with big data technologies like Spark. I believe Apache Kafka is the best in the market.

Vetted Review
Apache Kafka
3 years of experience

Kafka events; helping your company work with data

Rating: 9 out of 10
Incentivized

Use Cases and Deployment Scope

We use Kafka as the queuing mechanism for records in an indexing pipeline. Previous to using Kafka we were working with tables in SQL Server to handle a queue in a situation that SQL is not really designed for. Kafka provides a simple and efficient system that does the job it was intended for, queuing and maintaining records in a queue, and works very well. We use Kafka for several processes in our organization that require records to be stored and be processed by dedicated servers.

Pros

  • Queuing of records
  • Easy expansion of Topic parititions
  • An abundance of options for managing and maintaining queues
  • Easy expansion of cluster for growth

Cons

  • A management interface would be nice
  • Built in logging tools

Likelihood to Recommend

Kafka is a queuing system, plain and simple, and it does its job efficiently and with little fuss. We utilize Splunk logging to keep track of records in queues and how items are being processed and outside of that we generally do not have to mess with Kafka, it just does the job with little maintenance or problems. Any situation where records or information need to be placed in a queue to be accessed and processed by other systems would be well suited to scenarios where Kafka is the right solution.

Apache Kafka - a must have tool for distributed toolkit

Rating: 10 out of 10
Incentivized

Use Cases and Deployment Scope

My application was dependent on other applications to generate data and those data were needed to be processed immediately. And, processed data were published for other applications. Moreover, data load was very high nearly a hundred thousand a day. And, consumed data may be replayed in the future if required. So, after carefully considering several messaging queues we finally decided to continue with Apache Kafka.

Pros

  • Every setting is configurable.
  • Work seamlessly during high data load.
  • Partition mechanism.
  • Easy configurable.

Cons

  • Zookeeper configuration.
  • Front-end can be developed to configure properties.
  • UI for administrative configuration.

Likelihood to Recommend

Kafka can be used as a database but it is not recommended to store data for a long time. Also, if your application has a high data load then only we should utilize Kafka otherwise any other messaging queue is recommended. In addition, Apache Kafka provides far more features than just a simple messaging queue. Using Apache Kafka we can develop loosely coupled, real-time processing, and fault-tolerance architecture.

Kafka is an excellent tool for data integration!

Rating: 10 out of 10
Incentivized

Use Cases and Deployment Scope

Kafka is being used for our IoT data flows as the middle layer to transport data and make it available for consumption. We are implementing it slowly starting project by project and plan to use it globally.

Pros

  • Message queue
  • Capture data
  • Make data available
  • Integration between systems

Cons

  • More out of the box connectors for various other system integration

Likelihood to Recommend

Kafka is great for moving data between systems! You can even store data for a while before purging it so you know you have consumed it!

Vetted Review
Apache Kafka
2 years of experience