Apache Kafka vs. Google Cloud Pub/Sub

Overview
ProductRatingMost Used ByProduct SummaryStarting Price
Apache Kafka
Score 8.8 out of 10
N/A
Apache Kafka is an open-source stream processing platform developed by the Apache Software Foundation written in Scala and Java. The Kafka event streaming platform is used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.N/A
Google Cloud Pub/Sub
Score 8.8 out of 10
N/A
Google offers Cloud Pub/Sub, a managed message oriented middleware supporting many-to-many asynchronous messaging between applications.N/A
Pricing
Apache KafkaGoogle Cloud Pub/Sub
Editions & Modules
No answers on this topic
No answers on this topic
Offerings
Pricing Offerings
Apache KafkaGoogle Cloud Pub/Sub
Free Trial
NoNo
Free/Freemium Version
NoNo
Premium Consulting/Integration Services
NoNo
Entry-level Setup FeeNo setup feeNo setup fee
Additional Details
More Pricing Information
Community Pulse
Apache KafkaGoogle Cloud Pub/Sub
Considered Both Products
Apache Kafka
Chose Apache Kafka
Apache Kafka is built for scale. From high throughput and real-time data streaming, it has a strong advantage over RabbitMQ with its low latency. This put Apache Kafka at the forefront as the platform of choice for large datasets messaging and ensuring scalability when data …
Chose Apache Kafka
It had the clustering functionality and gave tolerance against machine failure.
Chose Apache Kafka
- The biggest advantage of using Apache Kafka is that it is cloud agnostic - It handles super high volume, is fault tolerance, high performance
Chose Apache Kafka
Apache Kafka can work at a higher scale as compared to SQS. It can work with higher size per message and millions of messages per second. Moreover it can be scaled horizontally by adding more brokers to the cluster. SQS is good enough for simple use cases like making a task …
Chose Apache Kafka
I used other messaging/queue solutions that are a lot more basic than Confluent Kafka, as well as another solution that is no longer in the market called Xively, which was bought and "buried" by Google. In comparison, these solutions offer way fewer functionalities and respond …
Chose Apache Kafka
Apache Kafka is open-sourced, scales great has cloud agnostics and performs better than Amazon Kinesis [in my view]. Amazon Kinesis has some limitations and vendor lockin is not something I [like]. With Confluent operators you can easily install it on a kubernetes cluster.
Chose Apache Kafka
We really needed to get away from using a SQL database to act as a queue for processing records, so a new solution was needed. Kafka is a leading software application initially designed for queuing messages which is essentially what we were looking for. It has a great user …
Chose Apache Kafka
Kafka is simple and lower in price.
Chose Apache Kafka
For us, Kafka really doesn't have a 1:1 alternative. We have used ActiveMQ extensively and we still use it as a lighter option for small messages. The situation is similar with Redis - although it could be used like a Kafka alternative, we do use it just as a per-component …
Chose Apache Kafka
Apache Kafka is much more scalable and more reliable. Does not depend on memory, works well on rotational disks and that makes it a cheaper to use solution on low hardware requirements. Running multiple consumers on the same topic can also mean processing the same data again …
Chose Apache Kafka
All stack tech helps our app and system. These technologies allow us to have the data available faster between different regions (due to our particular configuration) and thus the data and processing load of each system is lower. This allows the systems to be used more …
Chose Apache Kafka
We had lots of problems with active mq. That is why we started using Apache Kafka.
Chose Apache Kafka
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 …
Chose Apache Kafka
Confluent Cloud is still based on Apache Kafka but it has a subscription fee so, from a long term perspective, it is wiser to deploy your own Kafka instance that spans public and private cloud. Amazon Kinesis, Google Cloud Pub/Sub do not do well for a very number of messages …
Chose Apache Kafka
I would only use RabbitMQ over Kafka when you need to have delay queues or tons of small topics/queues around.
I don't know too much about Pulsar - currently evaluating it - but it's supposed to have the same or better throughput while allowing for tons of queues. Stay tuned - I …
Chose Apache Kafka
Kafka is faster and more scalable, also "free" as opensource (albeit we deploy using a commercial distribution). Infrastructure tends to be cheaper. On the other hand, projects must adapt to Kafka APIs that sometimes change and BAU increases until a major 1.x version comes out …
Google Cloud Pub/Sub
Chose Google Cloud Pub/Sub
Google Cloud Pub/Sub is a managed service compared to Apache Kafka.

Simple Queue Service (SQS) is an Amazon managed service that supports similar functionality as compared to Google Cloud Pub/Sub. However, we selected Google Cloud Pub/Sub as all other services in our platform …
Chose Google Cloud Pub/Sub
Kafka looks like and ordered queue, there no deliver backoff, so if a message has a problem, it doesn't advance to the next one. Google Cloud Pub/Sub looks like more a SET of messages, and kafka like a LIST. In kafka a same message will repeat instantaneously while it is being …
Chose Google Cloud Pub/Sub
Having used Amazon Web Services SNS & SQS I can say that even if the latter may offer more features, Google Cloud Pub/Sub is easier to use. On the other hand, usage of SNS & SQS as well as documentation and troubleshooting is easier with the AWS solution.
Since we are not using …
Chose Google Cloud Pub/Sub
Google Cloud Pub/Sub as a managed service is significantly more easy to use than a self managed Kafka cluster. As our software was already on GCP it was a no-brainer to use Pub/Sub due to the high level of integration and ease of use with other Google Cloud Platform services.
Chose Google Cloud Pub/Sub
  • Easy to setup Publisher, Subscribers and Message Queue service
  • More Reliable and Easy Scalable with Google Managed services
  • Easily integrated with most of the data sources we typically use for Data Storage and Analysis
Chose Google Cloud Pub/Sub
Amazon SQS has no integration with google play billing whereas Google Cloud Pub/Sub had native integration with google cloud billing, Play billing.
Chose Google Cloud Pub/Sub
We considered several messaging platforms including Kafka and Kinesis but both would have required more developer work and didn't integrate as nicely with our ecosystem. RabbitMQ is another messaging platform I've researched and prototyped on; it also would have required more …
Chose Google Cloud Pub/Sub
Compute Engine is not a direct competitor, but in fact, works well coupled with Pub/Sub.
Best Alternatives
Apache KafkaGoogle Cloud Pub/Sub
Small Businesses

No answers on this topic

AWS IoT Core
AWS IoT Core
Score 9.9 out of 10
Medium-sized Companies
IBM MQ
IBM MQ
Score 8.9 out of 10
Apache Kafka
Apache Kafka
Score 8.8 out of 10
Enterprises
IBM MQ
IBM MQ
Score 8.9 out of 10
Apache Kafka
Apache Kafka
Score 8.8 out of 10
All AlternativesView all alternativesView all alternatives
User Ratings
Apache KafkaGoogle Cloud Pub/Sub
Likelihood to Recommend
8.0
(0 ratings)
9.0
(0 ratings)
Likelihood to Renew
9.0
(0 ratings)
10.0
(0 ratings)
Usability
8.0
(0 ratings)
10.0
(0 ratings)
Availability
-
(0 ratings)
10.0
(0 ratings)
Performance
-
(0 ratings)
10.0
(0 ratings)
Support Rating
8.4
(0 ratings)
9.8
(0 ratings)
Configurability
-
(0 ratings)
10.0
(0 ratings)
Product Scalability
-
(0 ratings)
10.0
(0 ratings)
User Testimonials
Apache KafkaGoogle Cloud Pub/Sub
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).
Read full review
Using Google Cloud Pub/Sub will mainly depend on the cloud platform used. Our client didn't choose GCP for Google Cloud Pub/Sub, if we went with AWS we would be using SNS/SQS (obviously). However, Google Cloud Pub/Sub is a better solution in the GCP services compared to self-managed solutions such as RabbitMQ for instance (it is managed by GCP and integrates with GCP solutions).
Read full review
Pros
  • 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.
Read full review
  • A hands-off approach to publishing messages and subscribing to topics.
  • Easy to use APIs.
  • Useful, simple UI on cloud console to send messages for debugging, etc.
Read full review
Cons
  • The Kafka Tool is a community-made Java application that looks and feels from the past century.
  • Logging can be confusing. This certainly shows when we have to do troubleshooting.
  • Hybrid scenarios - pub/sub, but there are services in and outside a Kubernetes cluster. Then there are a ~3 options, but only 2 (the harder ones) are production-safe.
Read full review
  • Allow write and read of messages more than 10 MB
  • Support rate at which HTTP endpoints are triggered to reduce scale requirements on downstream services
  • Support replay of messages
Read full review
Likelihood to Renew
Kafka has suited our use case very well so far. Going forward we are planning to expand our platform manifold so the load on Kafka and our reliance on Kafka is going to increase only.
Read full review
It serves all of our purposes in the most transparent way I can imagine, after seeing other message queueing providers, I can only attest to its quality.
Read full review
Usability
Apache Kafka is highly recommended to develop loosely coupled, real-time processing applications. Also, Apache Kafka provides property based configuration. Producer, Consumer and broker contain their own separate property file
Read full review
It is easy to create Google Cloud Pub/Sub topics from both Web Console and CLI commands.
Google Cloud Pub/Sub supports creation of one or more subscriptions.
By supporting a BigQuery Pub/Sub subscription to automatically write to a BigQuery table it simplifies development by avoiding implementation of a custom micro service for writes to BigQuery.
Read full review
Reliability and Availability
No answers on this topic
I have never faced a single problem in 4 years.
Read full review
Performance
No answers on this topic
It's very fast, can be even better if you use protobuf.
Read full review
Support Rating
Support for Apache Kafka (if willing to pay) is available from Confluent that includes the same time that created Kafka at Linkedin so they know this software in and out. Moreover, Apache Kafka is well known and best practices documents and deployment scenarios are easily available for download. For example, from eBay, Linkedin, Uber, and NYTimes.
Read full review
They have decent documentation, but you need to pay for support. We weren't able to answer all our questions with the documentation and didn't have time to setup support before we needed it so I can't give it a higher rating but I think it tends to be a bit slow unless you're a GCP enterprise support customer.
Read full review
Alternatives Considered
Apache Kafka is built for scale. From high throughput and real-time data streaming, it has a strong advantage over RabbitMQ with its low latency. This put Apache Kafka at the forefront as the platform of choice for large datasets messaging and ensuring scalability when data scale up tremendously. RabbitMQ however has its strengths in traditional messaging. Routing and message delivery reliability are the bedrock of RabbitMQ and this is where RabbitMQ excels. In my previous workplace, RabbitMQ was of choice as reliability matters more than scale. In two words. Apache Kafka for scale, RabbitMQ for reliability. And for cloud deployment and large dataset messaging in what I am doing now, Apache Kafka is the default choice.
Read full review
  • Easy to setup Publisher, Subscribers and Message Queue service
  • More Reliable and Easy Scalable with Google Managed services
  • Easily integrated with most of the data sources we typically use for Data Storage and Analysis
  • 10k Topics is a good enough number to build and deliver the business use cases
  • Asynchronous and fallback mechanisms are great to ensure parallel delivery of the messages
Read full review
Scalability
No answers on this topic
You can just plug in consumers at will and it will respond, there's no need for further configuration or introducing new concepts. You have a queue, if it's slow, you plug in more consumers to process more messages: simple as that.
Read full review
Return on Investment
  • Positive: bursts of traffic on special holidays are easy to handle because Kafka can absorb and buffer all the messages we need to process long enough to let an understaffed set of back-end services catch up on processing. Hard to put a number to it but we probably save $5k a month having fewer machines running.
  • Positive: makes decoupling the web and API services from the deeper back-end services easier by providing topics as an interface. This allowed us to split up our teams and have them develop independently of each other, speeding up software development.
  • Negative: our engineers have made mistakes such as accidentally dropping a few thousand messages due to the CLI being confusing to use, and as a result a customer lost some of their precious data. I'd say that was more our fault than Kafka's though.
Read full review
  • Pub/Sub has helped avoid data loss improving our customer value prop.
  • Pub/Sub has reduced development time that would otherwise be needed to build a highly scalable queue.
Read full review
ScreenShots