We use Kafka daily for our messaging queue to reduce costs because we have a lot of consumers, producers, and repeat messages. Our company has only one system built on Apache Kafka because it's based on microservices, so all of the applications can communicate using it.
Software Development Team Lead at asa com
The command line interface is powerful
Pros and Cons
- "Kafka is an open-source tool that's easy to use in our country, and the command line interface is powerful."
- "The user interface is one weakness. Sometimes, our data isn't as accessible as we'd like. It takes a lot of work to retrieve the data and the index."
What is our primary use case?
What is most valuable?
Kafka is an open-source tool that's easy to use in our country, and the command line interface is powerful.
What needs improvement?
The user interface is one weakness. Sometimes, our data isn't as accessible as we'd like. It takes a lot of work to retrieve the data and the index.
For how long have I used the solution?
I've used Kafka for about 10 months.
Buyer's Guide
Apache Kafka
February 2025

Learn what your peers think about Apache Kafka. Get advice and tips from experienced pros sharing their opinions. Updated: February 2025.
838,640 professionals have used our research since 2012.
What do I think about the stability of the solution?
Kafka is stable.
How are customer service and support?
We can't access support because we are in Iran, and many countries prohibit business with Iran.
Which solution did I use previously and why did I switch?
We used MSMQ on Windows, but we decided to migrate our system to Docker and we wanted to use base Linux, so we move them from Amazon Queue to Kafka.
Apache Kafka has one advantage that sets it apart from other providers. We need to iterate on the messages, but others don't have this feature. Kafka has partitioning, which is useful, so we decided to go with Kafka.
How was the initial setup?
I rate Kafka 10 out of 10 for ease of setup. It's easy for us because we use Docker, but if you want to use another system like Linux it may be a little challenging
What's my experience with pricing, setup cost, and licensing?
Kafka is free.
Which other solutions did I evaluate?
Redis has an open-source solution, but I'm not sure about IBM. I haven't researched it.
What other advice do I have?
I rate Apache Kafka seven out of 10. It's a good solution. They're constantly fixing bugs and adding new features.
Which deployment model are you using for this solution?
On-premises
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Senior Solutions Architect at a wholesaler/distributor with 10,001+ employees
Great access to multiple devices, with stability, at an affordable price
Pros and Cons
- "One of the most valuable features I have found is Kafka Connect."
- "I would like to see monitoring service tools."
What is our primary use case?
Our primary use cases allow software developers, and application developers, the option to not have to code in their own logic for the retry mechanism. A lot of software, and applications, have this feature of retry built in some way or the other, but they all have some kind of a pre-alpha version of Kafka, up to a certain extent.
How has it helped my organization?
So it is a good backbone for microservices. So basically you want to write microservices, which you can shut down and bring it up whenever you want. You want to be able to shut it down to actually replace it with a newer version and bring it up. The bottom line is you can kill the microservice and bring it back up and do all the things that you want to do with it. But whenever it comes back up, it should pick up and run from where it had left off. That is what everybody tries to do. And in order to build such a system, they have to write several logical pieces of code, and most of that code has already been built for in Kafka so that you don't have to do it yourself.
What is most valuable?
One of the most valuable features I have found is Kafka Connect.
What needs improvement?
Basically, the bootup time, if you have large messages, sometimes takes up more time than I would really like it to. So that is the area that Kafka can actually improve upon. But that is okay, the way we get around it is to make sure that Kafka has started up first and warmed up before anything else starts up. I would also like to see monitoring service tools.
For how long have I used the solution?
I have been using Apache Kafka for the past three years.
What do I think about the stability of the solution?
The stability is good as long as you have a short retention period.
What do I think about the scalability of the solution?
Confluent is the cloud version of Apache Kafka and it is scalable.
What about the implementation team?
We do the implementation in-house.
What was our ROI?
If you are managing your own implementation the return on investment is pretty good. What you need is good developers.
What's my experience with pricing, setup cost, and licensing?
Apache Kafka has open-source pricing.
What other advice do I have?
Apache Kafka is a good choice, so I would recommend people not have a real-time application if they do not have to. It is better to have a very fast batch operation than a real-time operation. I would rate Apache Kafka a nine on a scale of one to ten.
Which deployment model are you using for this solution?
Public Cloud
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Buyer's Guide
Apache Kafka
February 2025

Learn what your peers think about Apache Kafka. Get advice and tips from experienced pros sharing their opinions. Updated: February 2025.
838,640 professionals have used our research since 2012.
Team Lead, Data Engineering at Nesine.com
Achieves real-time data management with fast and fault-tolerant solutions
Pros and Cons
- "Apache Kafka is very fast and stable."
- "Apache Kafka is very fast and stable."
- "Config management can be better."
- "Config management can be better. We are always trying to find the best configs, which is a challenge."
What is our primary use case?
We are always using Apache Kafka for our real-time scenarios. It helps us detect anomalies and attacks on our website through machine learning models.
What is most valuable?
We are managing our data by topics. Splitting topics is more effective for us. Apache Kafka is very fast and stable. It offers scalability with ease and also integrates well with our tools. Fault tolerance is a good feature, and it also has high throughput rates.
What needs improvement?
Config management can be better. We are always trying to find the best configs, which is a challenge.
For how long have I used the solution?
I have been working with Apache Kafka for more than four years. It has been used since the beginning of our department, maybe six years.
What do I think about the stability of the solution?
It is very stable and meets our needs consistently.
What do I think about the scalability of the solution?
If there is latency, our Kubernetes admin includes our Kafka nodes to increase scalability. Kafka provides flexibility and integrates easily with Kubernetes.
Which solution did I use previously and why did I switch?
Before Apache Airflow, I used Cron Tab. However, Apache Airflow makes it easy to follow and manage tasks, and data science departments can easily build their models or pipelines using it.
What other advice do I have?
I would rate Apache Kafka nine out of ten.
Which deployment model are you using for this solution?
On-premises
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Last updated: Dec 30, 2024
Flag as inappropriateSoftware Engineer at a financial services firm with 10,001+ employees
Open-source, stable, and scalable
Pros and Cons
- "The use of Kafka's logging mechanism has been extremely beneficial for us, as it allows us to sequence messages, track pointers, and manage memory without having to create multiple copies."
- "There is a lot of information available for the solution and it can be overwhelming to sort through."
What is our primary use case?
We have multiple use cases for our Kafka system. One is Kafka Connect, which is used to facilitate communication between different regions with Grid Deal. Another is to distribute events and projects to multiple downstream. We publish all the messages to Kafka and other listeners subscribe and write them to different MQs. Lastly, Kafka Connect is used especially for inter-application communication.
How has it helped my organization?
We had been using a lot of expensive licenses earlier, such as SOLEIL, as well as some legacy versions, which were not only costly but also caused memory issues and required highly technical personnel to manage. This posed a huge challenge in terms of resourcing and cost, and it simply wasn't worth investing more in. However, Kafka was comparatively free as it was open source, and we were able to build our own monitoring system on top of it. Kafka is an open-source platform that allows us to develop modern solutions with relative ease. Additionally, there are many resources available in the market to quickly train personnel to work with this platform. Kafka is user-friendly and does not require an extensive learning curve, unlike other tools. Furthermore, the configuration is straightforward. All in all, Kafka provides us with a great platform to build upon with minimal effort.
What is most valuable?
The use of Kafka's logging mechanism has been extremely beneficial for us, as it allows us to sequence messages, track pointers, and manage memory without having to create multiple copies. We are currently on a legacy version and have found that the latest version of Kafka has solved many of the issues we were facing, such as sequencing, memory management, and more. Additionally, the fact that it is open source is a major benefit.
What needs improvement?
Multiple people have constructed conflict resolution with successful solutions on top of open-source platforms. Unfortunately, open source does not have the monitoring and capabilities these solutions offer, so organizations must create their own. Investing in these solutions may be beneficial for many companies, who prefer to use open-source options.
There is a lot of information available for the solution and it can be overwhelming to sort through. The solution can improve by including user-friendly documentation.
For how long have I used the solution?
I have been using the solution for four years.
What do I think about the stability of the solution?
We have not experienced any issues with the stability of the solution. We had some issues with Grid Gain and Kafka Connect, but we believe it was more of an issue on Grid Gain's side since they informed us of a bug. Our result has been that we have not encountered many issues on the Kafka side.
What do I think about the scalability of the solution?
We use the solution in the distributed mode in multiple regions – the US, London, and Hong Kong. We have increased the number of nodes to ensure it is available to us at all times.
I give the scalability an eight out of ten.
We have around 600 people within my team using the solution.
How was the initial setup?
The initial setup was relatively easy for us since we already had Zookeeper and the necessary setup in place. We also had good knowledge of Kafka. Therefore, it was not a difficult challenge. In general, I believe that it is manageable. There are benefits and the setup is not overly complex.
Our company has implemented Ship, making our lives easier when it comes to changes or version updates. We can package everything in one place and deploy it with Ship, then implement the virtual number with a minimum of 50 changes.
Deployment time depends on our location and the task at hand. Initially, there is a lot of setup and configuration that must be done, but this can become easier with experience. Nowadays, the process is not too difficult, as all the version numbers and conflict files are already in place. However, if this is a new task for us, it may take some time to figure out all the configurations.
One person was dedicated to deploying Kafka. This person got help from our release team, who had already set up Zookeeper and other necessary components.
What about the implementation team?
The implementation was completed in-house.
What other advice do I have?
I give the solution an eight out of ten.
Maintaining Kafka, the open source, can be difficult without the proper version purchased or the right infrastructure in place. However, once the initial setup is complete, it is relatively simple to maintain. The open-source version of Kafka is not a complete package, so additional maintenance may be required.
I strongly recommend reading the documentation for any issues because it is likely to contain the answer we are looking for. There is a lot of information provided that may not be immediately obvious, so take the time to explore thoroughly.
Which deployment model are you using for this solution?
On-premises
Disclosure: I am a real user, and this review is based on my own experience and opinions.
System Architect at UST Global España
Enables us to send or push messages through a specified port
Pros and Cons
- "For example, when you want to send a message to inform all your clients about a new feature, you can publish that message to a single topic in Apache Kafka. This allows all clients subscribed to that topic to receive the message. On the other hand, if you need to send billing information to a specific customer, you can publish that message on a topic dedicated to that customer. This message can then be sent as an SMS to the customer, allowing them to view it on their mobile device."
What is our primary use case?
Apache Kafka is a messaging solution where you have topics to pass on your information. You can send messages to multiple topics.
How has it helped my organization?
We need to manage limited resources. Additionally, we can send or push messages through a specified port. This is a significant feature because, unlike traditional queues, Kafka uses a cluster of nodes, making it easy to integrate with various algorithms. This clustering is an advantage and a key feature of Kafka, providing good interaction and scalability.
What is most valuable?
For example, when you want to send a message to inform all your clients about a new feature, you can publish that message to a single topic in Apache Kafka. This allows all clients subscribed to that topic to receive the message. On the other hand, if you need to send billing information to a specific customer, you can publish that message on a topic dedicated to that customer. This message can then be sent as an SMS to the customer, allowing them to view it on their mobile device.
What needs improvement?
Apache Kafka is different in its design. If you have topics around the front end of clusters in the facility, it is scalable. The software is scalable to handle and process data. However, it might not be suitable for handling specific types of images or media files. Other than that, it should handle the rest of the data processing needs.
There are no multiple versions, which simplifies the process of granting access with Kaspersky. Every message is accurately delivered. However, Kafka does not support sending messages directly. You need to publish messages finalization. If you want to resend a message, you must resend it manually. Kafka does not automatically handle this. Another thing is the need for a redo option if an issue occurs. If a message is not sent properly, it can be retransmitted within the core system. You should enable the gateway in your program for it to function correctly. Messages will not be delivered or refreshed unless you enable the direct replay option in the product settings.
For how long have I used the solution?
I have been using Apache Kafka since 2020-21
How was the initial setup?
The initial setup of Apache Kafka is challenging and requires experience. Each message should always receive a response, so prioritizing traffic is essential. Furthermore, the client or consumer must always be in sync, or the message will not be processed.
What other advice do I have?
One pair of nodes is sufficient for the system. If our other system requires more than five nodes, it might not be feasible. Currently, other components are functioning as expected. The Kafka setup won't take much time.
When using Apache Kafka, it’s important to manage different environments carefully to avoid confusion. For instance, you can configure different client applications for producing and consuming messages. Ensure that the configurations for each environment (development, testing, production, etc.) are separated. This includes managing source code and data appropriately to maintain security and efficiency. Proper management of Kafka assets and operations phases is crucial for a smooth workflow.
I recommend Apache Kafka since it is extremely fast, stable and has been used for a very long time. We haven't encountered any major issues or concerns regarding its performance and customer service.
Overall, I rate the solution a nine out of ten.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Last updated: May 26, 2024
Flag as inappropriateIs very scalable and has been beneficial is in the context of financial trading
Pros and Cons
- "The publisher-subscriber pattern and low latency are also essential features that greatly piqued my interest."
- "Maintaining and configuring Apache Kafka can be challenging, especially when you want to fine-tune its behavior."
What is our primary use case?
I have previous professional experience using Kafka to implement a system related to gathering software events in one centralized location.
How has it helped my organization?
One example of how Kafka has been beneficial is in the context of financial trading. When a trade is executed, it generates an event. I used Kafka to create an application that captures these events and stores them in a topic, allowing for efficient processing in real time.
What is most valuable?
Regarding the most valuable feature in Kafka, I would say it's scalability. The publisher-subscriber pattern and low latency are also essential features that greatly piqued my interest.
What needs improvement?
Maintaining and configuring Apache Kafka can be challenging, especially when you want to fine-tune its behavior. It involves configuring traffic partitioning, understanding retention times, and dealing with various variables. Monitoring and optimizing its behavior can also be difficult.
Perhaps a more straightforward approach could be using messaging queues instead of the publish-subscribe pattern. Some solutions may not require the complex features of Apache Kafka, and a messaging queue with Kafka's capabilities might provide a more complete messaging solution for events and messages.
For how long have I used the solution?
I have been using Apache Kafka for the past 10 years.
What do I think about the stability of the solution?
The stability may improve if the configuration and management aspects become less challenging.
What do I think about the scalability of the solution?
It depends on the configuration., but scalability is one of the best features of Kafka. I would rate it nine out of ten.
How are customer service and support?
Support can vary depending on whether you're using the open source version or a paid one. Our version, the paid console version, offers highly available support, and you can find a wealth of information and assistance from various providers online. However, when I used MSA on AWS, I encountered limited support for it.
How would you rate customer service and support?
Neutral
What was our ROI?
Despite the challenges we faced with configuration and management, I believe the return on investment is safeguarded.
What's my experience with pricing, setup cost, and licensing?
The cost can vary depending on the provider and the specific flavor or version you use. I'm not very knowledgeable about the pricing details.
What other advice do I have?
I believe that when working with Kafka Apache, it's essential to have a specialist who thoroughly understands and can optimize all the available variables within the solution to achieve the desired behavior.
I would rate it an eight out of ten.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
CEO /Consultant at Version Two Software Solutions Ltd
The message bus capabilities and throughput are good, but it needs better documentation
Pros and Cons
- "It seemed pretty stable and didn't have any issues at all."
- "We struggled a bit with the built-in data transformations because it was a challenge to get them up and running the way we wanted."
What is our primary use case?
We used Kafka as a central message bus, transporting data from SNMP through to a database. Some of the processing in between was handled by other components.
How has it helped my organization?
We built a solution for a client and the client was happy with the solution.
What is most valuable?
The message bus capabilities, basically sending messages to it, and the way it handles events or messages is pretty good. The throughput was good. Generally, it was a good component.
What needs improvement?
We struggled a bit with the built-in data transformations because it was a challenge to get them up and running the way we wanted. There was a bit of a learning curve. It may be that we didn't fully grasp the information.
Also, the documentation covering certain aspects was a bit poor. We had to trawl around different locations to try to find what we needed. When we were able to find documentation on transformation, for example, there wasn't a good set of documentation examples we could use, and the examples we had weren't quite meeting the need. Better examples would've helped us.
For how long have I used the solution?
I used this solution for about a year and a half.
What do I think about the stability of the solution?
It seemed pretty stable and didn't have any issues at all.
What do I think about the scalability of the solution?
I don't know how many people were using it on the client's side, but we had a four-person team doing the development work.
What about the implementation team?
Our team handled the deployment in-house.
What's my experience with pricing, setup cost, and licensing?
Kafka is an open-source solution, so there are no licensing costs. There are third-party companies who support and provide add-ons to Kafka, but we didn't need to use any of those. Confluence, for example, provides plug-ins for Kafka.
Which other solutions did I evaluate?
There were other solutions, like Apache MQ, but there were a number of components we looked at that were based around being a message bus, and Kafka was the winner from that review work.
What other advice do I have?
The documentation can be a challenge. There are quite advanced capabilities of Kafka, like the transformations that you can build to modify the data as needed. We found that the biggest challenge was documentation and being able to gain the knowledge of exactly how to do stuff. We also struggled on the transformation, but other components were fine, so some parts are good, and some parts are bad.
I would rate this solution as an eight out of ten.
Which deployment model are you using for this solution?
Private Cloud
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Lead Architect at a financial services firm with 1,001-5,000 employees
Good partition tolerance, message reliability, and API integration
Pros and Cons
- "The main advantage is increased reliability, particularly with regard to data and the speed with which messages are published to the other side."
- "One of the things I am mostly looking for is that once the message is picked up from Kafka, it should not be visible or able to be consumed by other applications, or something along those lines. That feature is not present, but it is not a limitation or anything of the sort; rather, it is a desirable feature. The next release should include a feature that prevents messages from being consumed by other applications once they are picked up by Kafka."
What is our primary use case?
We use it extensively in our data pushing, for analytics and all of this type of data that is pushed, rather than on a real-time and payment basis. However, we are using it for offline messages, pushing it for processing, and for heavy, heavy usage, rather than extensively using it for financial data.
What is most valuable?
The main advantage is increased reliability, particularly with regard to data and the speed with which messages are published to the other side.
The connectivity from the application is straightforward, as is the API integration.
These are some of the most valuable features of this solution.
In terms of partition tolerance, message reliability is also present, which is a very good feature from the customer's perspective.
What needs improvement?
The area for improvement in Kafka is difficult to say because it's a solid product that works well in its intended applications. And, we are looking for something that can be used as part of financial implementations, because we don't want too many messages to be delivered to the other side, which is one of the areas I am looking at as well.
One of the things I am mostly looking for is that once the message is picked up from Kafka, it should not be visible or able to be consumed by other applications, or something along those lines. That feature is not present, but it is not a limitation or anything of the sort; rather, it is a desirable feature.
The next release should include a feature that prevents messages from being consumed by other applications once they are picked up by Kafka.
Then there is message dependability because a message is of no use if cannot be consumed. Alternatively, if the message is consumed but not committed, it should not be recorded in the Kafka queues. It should be because that is one of the features that is existing in MQs consistently provide: if the message is not committed, it will be committed back to the queues.
I have not seen that in Kafka.
For how long have I used the solution?
We have been using Apache Kafka for approximately three years in the organization.
I believe we are working with version 10. Confluent Kafka is what we are using.
What do I think about the stability of the solution?
It's a stable solution. Once completed, it is a very stable solution.
What do I think about the scalability of the solution?
The scalability is very good. It is scalable horizontally rather than vertically.
It can scale up to any level horizontally. However, if the message, once used horizontally scalable, cannot be shrunk once the requirement is reduced, some process is actually taking place. That is one thing that is lacking.
I believe there are approximately 10 to 15 people who use it.
This is being used by the data migration, data team, data analytical team, and data engineer. It's being used by all application architects who are just looking into it, as well as middleware integrators and middleware application integrators.
We have big plans to increase the use of various other innovations and stuff like that. We are using it in relation to data activities.
Also, we are only planning to use the financial part for publishing it, subscribing, and publishing a pop-up model for various use cases.
How are customer service and support?
Apache usually has a community deployment. If you use Apache or any other software, you will usually receive community support. Otherwise, some companies are taking it and beginning to process it. For example, in Kafka, there is a version of Confluent that they use and support. Or, as we call it, the Oracle Big Data platform.
It will be included with Hadoop, Spark, and other similar technologies. That is coming as, one of the back software packages that are part of that offering, and it is supported by Oracle. Depending on the type of open source, there are various types of support available. Other than the community, we will not receive assistance. Otherwise, it's free enterprise, and we can take it from Confluent or other vendors who offer similar products.
Which solution did I use previously and why did I switch?
Prior to implementing this solution, we were not using another solution. We have been using, Kafka from the beginning with regard to these use cases. However, we are using other queuing solutions, such as MQ, ActiveMQ, IBM IQ, and Q, but the use cases are different. This is primarily due to the large volume, faster processing, and other benefits of using Kafka.
How was the initial setup?
It is not deployed on-premises.
We use Kafka as part of the OCI Oracle Cloud platform and the Oracle Big Data platform because Kafka is included.
The Apache Kafka setup will take some time because it is not simple, and we have a lot of other components to install. It's fine because we needed all the plugins and other things for the simple implementations, but the containers' implementation is simple. The only difference is that when it comes to Zookeeper, there are a lot of supporting applications running on top of it, such as Zookeeper. As part of their area, Apache Kafka is running on top of Zookeeper. What do they think? As part of their... manageability, the Kafka area, and Apache Zookeeper. As a result, everything must be removed. And it will be preferable if the implementation is simple. I believe Confluent is doing this, but we have not yet begun.
The deployment, and configuration, will take one hour to complete. However, it is also dependent on the fact that you require a large number of configurations, which we have.
What about the implementation team?
The deployment was completed in-house.
Currently, there is a team of three to maintain this solution. There are application support personnel in charge of access control.
What's my experience with pricing, setup cost, and licensing?
It will be included in the Oracle-specific platform. It is approximately $600,000 USD.
What other advice do I have?
When it comes to Apache Kafka, they must understand how it works and what its internals are. There could be numerous challenges associated with the product and its entire life cycle. You will have to have a good understanding and knowledge of the configuration. You will need a technical person who is knowledgeable in Kafka which will be an advantage and on an ongoing life partner.
It's a very good solution, I would rate Apache Kafka a nine out of ten.
Which deployment model are you using for this solution?
Private Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Other
Disclosure: I am a real user, and this review is based on my own experience and opinions.

Buyer's Guide
Download our free Apache Kafka Report and get advice and tips from experienced pros
sharing their opinions.
Updated: February 2025
Product Categories
Streaming AnalyticsPopular Comparisons
Confluent
PubSub+ Platform
Buyer's Guide
Download our free Apache Kafka Report and get advice and tips from experienced pros
sharing their opinions.
Quick Links
Learn More: Questions:
- Which ETL tool would you recommend to populate data from OLTP to OLAP?
- What are the differences between Apache Kafka and IBM MQ?
- How do you select the right cloud ETL tool?
- What is the best streaming analytics tool?
- What are the benefits of streaming analytics tools?
- What features do you look for in a streaming analytics tool?
- When evaluating Streaming Analytics, what aspect do you think is the most important to look for?
- Why is Streaming Analytics important for companies?
The high availability is valuable. It is robust, and we can rely on it for a huge amount of data.