Try our new research platform with insights from 80,000+ expert users
ShoaibKhan - PeerSpot reviewer
Technical Specialist at APIZone
Real User
System for email and other small devices that allows for a continuous relay of transactions
Pros and Cons
  • "This is a system for email and other small devices. There has been a relay of transactions continuously over the last two years it has been in production."
  • "The management overhead is more compared to the messaging system. There are challenges here and there. Like for long usage, it requires restarts and nodes from time to time."

What is our primary use case?

This is a system for email and other small devices. There has been a relay of transactions continuously over the last two years it has been in production.

What is most valuable?

Besides better stability and scalability, there are no additional functionalities I'd like to see. Kafka is good at what it does.

What needs improvement?

The management overhead is more compared to the messaging system. There are challenges here and there. Like for long usage, it requires restarts and nodes from time to time.

For how long have I used the solution?

We started using this solution two years ago.

Buyer's Guide
Apache Kafka
December 2024
Learn what your peers think about Apache Kafka. Get advice and tips from experienced pros sharing their opinions. Updated: December 2024.
817,937 professionals have used our research since 2012.

What do I think about the stability of the solution?

There are issues with stability. It's not 100% stable like ActiveMQ, but it's maybe 98% stable.

What do I think about the scalability of the solution?

With the containerized version we have used, we have faced challenges with the scalability.

How was the initial setup?

Initial setup was not easy. It requires intermediate skills.

What's my experience with pricing, setup cost, and licensing?

This is an open-source version.

What other advice do I have?

I would rate this solution 8 out of 10.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
reviewer1128858 - PeerSpot reviewer
Vice President at a consultancy with 51-200 employees
Real User
Open - Source, integrates well with external systems, and has a built-in failover
Pros and Cons
  • "It is the performance that is really meaningful."
  • "More Windows support, I believe, is one area where it can improve."

What is our primary use case?

We use Apache Kafka for our messaging. 

We publish a message and ask the subscriber to listen to it. We use it to save events generated by integration with external systems. There are external events, that are first published to our Kafka queue, and then to a topic, and then we save it to our own data storage system.

What is most valuable?

I believe that the speed, and especially the performance, are very good features.

Also included is a cluster with built-in failover. 

It is the performance that is really meaningful.

In terms of features, we are satisfied. I don't require any additional features. I don't believe we require any additional features at this time.

What needs improvement?

More Windows support, I believe, is one area where it can improve. We need to wrap it as a service, but there isn't one built into Windows. So that's something they could improve.

I believe Windows Server is primarily aimed at the Windows shop or those who use Windows.

For how long have I used the solution?

I don't recall the specific version that we are using, it may be Kafka 2.11, but it is not the latest one.

What do I think about the stability of the solution?

It's stable. However, the Windows Service is not very stable because it is a wrapper.

What do I think about the scalability of the solution?

We are a small team with a few people.

We might increase our usage in the future.

How are customer service and support?

We don't get in touch with technical support. We rely on open-source software. We haven't used the help of technical support. We did not seek assistance. As a result, I have no opinion on the subject.

Which solution did I use previously and why did I switch?

This is the first product we have used. We didn't have anything prior to that.

How was the initial setup?

The initial setup is straightforward. It's easy to set up.

It took a few days to get it up and running.

We only need one or two engineers to keep this solution running. We basically let it run and monitor what's going on. We usually don't touch it unless something goes wrong.

What about the implementation team?

We deployed it ourselves.

What's my experience with pricing, setup cost, and licensing?

It's free. We use the free version.

Which other solutions did I evaluate?

VMware RabbitMQ and ActiveMQ are products that are not being used by us. I wanted to look into it. But we use different things.

We compared our findings to those of other researchers. We are primarily concerned with performance. Kafka is unquestionably the performance leader.

What other advice do I have?

I would recommend trying this solution, but you should probably run it on Linux.

I like this product, I would rate Apache Kafka a 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.
PeerSpot user
Buyer's Guide
Apache Kafka
December 2024
Learn what your peers think about Apache Kafka. Get advice and tips from experienced pros sharing their opinions. Updated: December 2024.
817,937 professionals have used our research since 2012.
Sr Technical Consultant at a tech services company with 1,001-5,000 employees
Real User
Effective stream API, useful consumer groups, and highly scalable
Pros and Cons
  • "The most valuable features are the stream API, consumer groups, and the way that the scaling takes place."
  • "would like to see real-time event-based consumption of messages rather than the traditional way through a loop. The traditional messaging system works by listing and looping with a small wait to check to see what the messages are. A push system is where you have something that is ready to receive a message and when the message comes in and hits the partition, it goes straight to the consumer versus the consumer having to pull. I believe this consumer approach is something they are working on and may come in an upcoming release. However, that is message consumption versus message listening."

What is our primary use case?

One of our clients needed to take events out of SAP to stream them through Apache Kafka while applying data enrichment before reaching the consumers.

How has it helped my organization?

The solution can handle more speed and has horizontal scalability for both messaging, but more specifically stream processing and data enrichment. By using this solution it can reduce the number of components required in the tech stack. For example, we were taking data events out of SAP and sending them to consumers without having to go through multiple processors that were outside of the KAFKA space. Additionally, we are using Kafka from GoldenGate to propagate database updates in real-time.

What is most valuable?

The most valuable features are the stream API, consumer groups, and the way that the scaling takes place. 

What needs improvement?

I would like to see real-time event-based consumption of messages rather than the traditional way through a loop. The traditional messaging system works by listing and looping with a small wait to check to see what the messages are. A push system is where you have something that is ready to receive a message and when the message comes in and hits the partition, it goes straight to the consumer versus the consumer having to pull. I believe this consumer approach is something they are working on and may come in an upcoming release. However, that is message consumption versus message listening.

Confluent created the KSQL language, but they gave it to the open-source community. I would like to see KSQL be able to be used on raw data versus structured and semi-structured data.

For how long have I used the solution?

I have been using this solution for approximately one year.

What do I think about the stability of the solution?

The solution is stable.

What do I think about the scalability of the solution?

I have found the Apache Kafka to be highly scalable

How are customer service and technical support?

The project we were working on was open-source, we were using Confluent as support and they were great.

How was the initial setup?

Apache Kafka on AWS is a bit complex. There is a third-party company called Confluent and they have the support that makes their installation much easier, especially for the on-premise deployment. You install Apache Kafka alone it can be a little complex compared to other queuing messaging solutions.

The on-premise deployment takes approximately a few days. The cloud or hybrid deployments including all the permissions, typologies, firewalls, and networking configuration can take weeks for all the accessibility issues to be resolved. However, the delay could have been client-related and not necessarily the solution.

What about the implementation team?

We provide the implementation service.

What's my experience with pricing, setup cost, and licensing?

Apache Kafka is free. My clients were using Confluent which provides high-quality support and services, and it was relatively expensive for our client. There was a lot of back and forth on negotiating the price.

Confluent has an offering that has Cloud-Based pricing. There are different packages, prices, and capabilities. The highest level being the most expensive. AWS provides services to their market, for example, to have Kafka running. I do not know what the pricing is and I am fairly confident, Azure and GCP provide similar services.

What other advice do I have?

My advice to others wanting to implement this solution is to start with data streaming projects, not simple messaging projects because while it is very good at general-purpose messaging, it is more suited and geared for when you are using it as a streaming solution.

I rate Apache Kafka an eight out of ten.

Which deployment model are you using for this solution?

Public Cloud

If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?

Amazon Web Services (AWS)
Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
RABBAHMahmoud - PeerSpot reviewer
Senior Technical Architect at RABBAH SOFT
Real User
Top 10
Enables us to move data from static files to a legacy system
Pros and Cons
  • "Scalability is very good."
  • "In the next release, I would like for there to be some authorization and HTL security."

What is our primary use case?

I'm a software architect. The use case will depend my customers. They usually use it for data transfer from static files to a legacy system.

What needs improvement?

In the next release, I would like for there to be some authorization features and HTL security. 

We also need bigger software and better monitoring. 

For how long have I used the solution?

I have been using Apache Kafka for the last ten years. 

What do I think about the stability of the solution?

The stability is good. We've never had any issues. 

What do I think about the scalability of the solution?

Scalability is very good. 

How are customer service and technical support?

I have never needed to contact technical support. My colleagues get support from here, in Morrocco. 

How was the initial setup?

The setup is not a big deal for us. We can handle it. After the system is set up, the person who administers it has to do so with Apache Kafka.

Depending on the setup, it will usually take two weeks.

What other advice do I have?

I would rate it a nine out of ten. Not a ten because of the monitoring and admin improvement I'd like for them to make. 

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
it_user642168 - PeerSpot reviewer
Big Data Lead at a marketing services firm with 51-200 employees
Vendor
We use it as an MQ. From it, we have several consumers like Secor that upload raw data to S3.

What is most valuable?

We are using Kafka consumer and producer.

How has it helped my organization?

We are using Kafka as MQ; our servers generate events which are being sent to Kafka. From Kafka, we have several consumers like Secor (https://github.com/pinterest/secor) that upload raw data to S3; Spark stream that is doing aggregations and saving the result in Cassandra; and Druid for OLAP.

What needs improvement?

  • Maintenance: Sometimes brokers disconnect and there are repartitions issues.
  • Built-in monitoring application for Kafka infrastructure.
  • UI for Kafka would also be great (similar to http://www.kafkatool.com/).

For how long have I used the solution?

I have used this product for two years.

What do I think about the stability of the solution?

We used to have problems in Kafka every three weeks and our dev ops team fixed a few issues. For the last six months, there have been no production problems, but during the time Kafka was not stable, it was not easy to understand what was wrong and how to fix it.

What do I think about the scalability of the solution?

We have not encountered any scalability issues yet. We are growing and currently, we manage 1M events per second in Kafka.

How are customer service and technical support?

We need more documentation regarding maintenance issues.

Which solution did I use previously and why did I switch?

I used RabbitMQ and ActiveMQ. Kafka is the standard, so there is no question what to use (unless you need better performance, like in ZeroMQ).

Which other solutions did I evaluate?

We did not evaluate other options as Apache Kafka is the standard.

What other advice do I have?

Read the documentation and understand the offset issues (where to save them, read from start to end).

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
it_user660627 - PeerSpot reviewer
Senior Software Engineering Consultant at a tech services company with 51-200 employees
Consultant
It offers throughput with built-in fault-tolerance and replication.
Pros and Cons
  • "Kafka, as compared with other messaging system options, is great for large scale message processing applications. It offers high throughput with built-in fault-tolerance and replication."
  • "Kafka requires non-trivial expertise with DevOps to deploy in production at scale. The organization needs to understand ZooKeeper and Kafka and should consider using additional tools, such as MirrorMaker, so that the organization can survive an availability zone or a region going down."

How has it helped my organization?

I used Kafka with a client to decouple applications with different availability profiles. Before using a messaging-based architecture with Kafka as the messaging system, the client used a coordinator application to fire off various posts to as many as eight other applications. With an application that's impacting at least a customer a second in airports, where the customers demand that the system always works, there were issues with ensuring high availability.

A typical way to calculate system availability is: Availability = Uptime/(Uptime + Downtime). Hence, where there are two applications involved with a 99% availability, the total system availability degrades quickly: 99% * 99% = 98.01%.

With eight applications, total availability caused issues. However, only two systems needed to provide real-time responses, while other systems were for payment processing, CRM, promotions, etc. It was OK if those systems were not up to date in real time.

Kafka allowed the client to have temporal decoupling for writes, i.e., the flaky third-party CRM system did not need to be available at the moment for us to respond to a user with a successful response. The availability concerns shifted to Kafka, which is a better trade off because it's built for this.

Another benefit, though not required, was the addition of logical decoupling between applications. Additional consumers could be built to overlay concerns of analytics, but the systems responsible for creating the entities on a given topic did not need to be aware of the analytics applications. This simplifies the interaction between applications and concerns of an organization.

Another benefit of this architecture is that testing is simplified. A given application needs to be tested to obey a contract of reading a message and producing another message. A Kafka topic acts as the boundary for an integration test.

What is most valuable?

Kafka, as compared with other messaging system options, is great for large scale message processing applications. It offers high throughput with built-in fault-tolerance and replication.

Messaging systems in general allow for logical and temporal decoupling between applications. Given Kafka's high availability, it's a great option to use if applications require availability, but not real-time processing.

If a downstream system is offline, messages can queue up and process when possible, but the user may not necessarily need to be aware of any issues.

A messaging-based architecture becomes important as a set of micro-services need to scale with high availability. Kafka is a great choice for messaging with such architecture.

What needs improvement?

Kafka requires non-trivial expertise with DevOps to deploy in production at scale. The organization needs to understand ZooKeeper and Kafka and should consider using additional tools, such as MirrorMaker, so that the organization can survive an availability zone or a region going down.

Shifting availability concerns to Kafka means that it cannot go down. It's important to understand the partitioning model and replication needs before relying on it for critical business functions. I'd suggest using it with a feature toggle for a non-critical path in production and learning from failure before relying on it.

While Kafka is built to scale, that does not mean that applications can start as many consumers or producers without consideration for how Kafka brokers will perform. Considerations about scaling out brokers need to occur before publishing millions of messages.

What do I think about the stability of the solution?

Generally, there were no stability issues. However, there was one scare in production when a consumer rebalance took 30 minutes and messages were not being processed during that time.

What do I think about the scalability of the solution?

We have not yet had scalability issues!

How are customer service and technical support?

There are specialized consulting companies in this space and there are online resources to read. That may help companies get past hurdles.

Which solution did I use previously and why did I switch?

No, we did you use a previous messaging system.

How was the initial setup?

The setup was complex. One must consider setting up ZooKeeper, Kafka, multi-zone/region availability, as well as typical associated functions for running it all in production. This includes monitoring, message schema changes (consider Avro), encrypting messages if it's a concern, potentially authorization for different topics depending up on the sensitivity of data.

If an organization uses Kafka as the first messaging system, then the approach for application design must also shift significantly.

What's my experience with pricing, setup cost, and licensing?

It is open source software.

Which other solutions did I evaluate?

The client evaluated alternatives before I arrived, but I was not there during the evaluation so I cannot comment.

What other advice do I have?

Consider using a managed Kafka service, such as from Heroku.

If messaging is not a central component of the business and vendor lock-in is less of a concern, consider using something like Amazon's Kinesis. This can more rapidly provide the benefits of a messaging service without the pain of understanding it deeply, setting it up, and managing it.

It's important to use a lean approach to understand how it will break in production.

Implement a non-critical transaction with it.

Perhaps use a feature toggle within a facade and implement the behavior with the old approach and with Kafka to reduce risk.

Add it to one or two applications and monitor how it goes.

Figure out security, monitoring, scaling, schema migration, etc., before using it as a critical component in an application.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
PeerSpot user
Principal Software Architect at a tech services company with 11-50 employees
Consultant
Does real-time streaming and persistence into distributed nodes. It provides a mechanism to create, publish, and subscribe.

What is most valuable?

Real-time streaming and persistence into distributed nodes. It provides a simple mechanism to create, publish, and subscribe.

How has it helped my organization?

We are using Kafka as part of our product. It is one of the messaging layers used to interact between various layers of software modules. This provides a clear separation of modules and leverages it for development and testing of different modules.

What needs improvement?

The management tools are getting mature. When we have thousands of topics, it is hard to visualize.

For how long have I used the solution?

I’ve been using Kafka for two years.

What do I think about the stability of the solution?

We have not encountered any stability issues.

What do I think about the scalability of the solution?

We have to balance the nodes when topics partition across cluster nodes. As it assumes they are of equal sizes, sometimes some nodes may not be allocated similar resources. Reassignment moves all the partitions of specified topics which may be an issue when not planned for.

How are customer service and technical support?

We have the source code to make changes if necessary.

Which solution did I use previously and why did I switch?

Kafka rendered itself suitable for our product offering. It supports all the necessary requirements for a real-time pipeline.

How was the initial setup?

Setting up was easy with ZooKeeper.

What's my experience with pricing, setup cost, and licensing?

With paid support from Confluent, you get the additional benefit of Kafka Connect.

Which other solutions did I evaluate?

We used Akka Streams for faster communication, but it would require additional configuration and setup for persistence. Kafka provides those by default.

What other advice do I have?

Kafka provides distributed persistence and streaming layers. The user has flexibility in managing as a consumer on how to consume messages if they have to handle resilience in their code. It requires ZooKeeper.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Sreekar Nethagani - PeerSpot reviewer
Co-Founder at Attaika
Real User
Top 5
A great streaming platform with good functionality
Pros and Cons
  • "A great streaming platform."
  • "Observability could be improved."

What is our primary use case?

We are a service implementer and we supply this solution to our customers. I'm a company co-founder and we are customers of Apache. 

What is most valuable?

The solution has improved our functionality, it's one of the best streaming platforms I've used. 

What needs improvement?

I'd like to see improvement in terms of observability.

For how long have I used the solution?

I've been using this product for the last five years on and off. 

What do I think about the stability of the solution?

The solution is stable. 

What do I think about the scalability of the solution?

The solution is scalable.

How was the initial setup?

The initial setup is straightforward, it's not complicated.

What's my experience with pricing, setup cost, and licensing?

This is an open-source product.

What other advice do I have?

I rate this solution nine out of 10. 

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Buyer's Guide
Download our free Apache Kafka Report and get advice and tips from experienced pros sharing their opinions.
Updated: December 2024
Product Categories
Streaming Analytics
Buyer's Guide
Download our free Apache Kafka Report and get advice and tips from experienced pros sharing their opinions.