Kafka vs PubNub: What are the differences?
Developers describe Kafka as "Distributed, fault tolerant, high throughput pub-sub messaging system". Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design. On the other hand, PubNub is detailed as "Build real-time apps quickly and scale them globally". PubNub makes it easy for you to add real-time capabilities to your apps, without worrying about the infrastructure. Build apps that allow your users to engage in real-time across mobile, browser, desktop and server.
Kafka and PubNub are primarily classified as "Message Queue" and "Realtime Backend / API" tools respectively.
Some of the features offered by Kafka are:
- Written at LinkedIn in Scala
- Used by LinkedIn to offload processing of all page and other views
- Defaults to using persistence, uses OS disk cache for hot data (has higher throughput then any of the above having persistence enabled)
On the other hand, PubNub provides the following key features:
- Data Push - Establish and maintain persistent socket connections to any device (mobile, browser, desktop and server) and push data to global audiences in less than ¼ of a second
- Presence - Automatically detect when users enter or leave your app and whether machines are online
"High-throughput" is the top reason why over 95 developers like Kafka, while over 31 developers mention "Massively scalable & easy to use" as the leading cause for choosing PubNub.
Kafka is an open source tool with 12.7K GitHub stars and 6.81K GitHub forks. Here's a link to Kafka's open source repository on GitHub.
Uber Technologies, Spotify, and Slack are some of the popular companies that use Kafka, whereas PubNub is used by OpenGov, Hinge, and Blossom. Kafka has a broader approval, being mentioned in 509 company stacks & 470 developers stacks; compared to PubNub, which is listed in 43 company stacks and 12 developer stacks.
What is Kafka?
What is PubNub?
Want advice about which of these to choose?Ask the StackShare community!
What are the cons of using PubNub?
What tools integrate with Kafka?
What tools integrate with PubNub?
PubNub is my goto solution for when I want to use sockets at scale. They have redundant data centers in 14 regions with 99.999% SLA allowing me to build realtime apps for any platform. Also Stephen (PubNub CTO) is Awesome!
Front-end messages are logged to Kafka by our API and application servers. We have batch processing (on the middle-left) and real-time processing (on the middle-right) pipelines to process the experiment data. For batch processing, after daily raw log get to s3, we start our nightly experiment workflow to figure out experiment users groups and experiment metrics. We use our in-house workflow management system Pinball to manage the dependencies of all these MapReduce jobs.
Using websockets is something, scaling a message pipeline to thousands of concurrent connections is something else.
I trust PubNub with what it does best, and use it as zerotoherojs.com ’s messaging pipeline.
With PubNub, I have one less problem to think about.
Building out real-time streaming server to present data insights to Coolfront Mobile customers and internal sales and marketing teams.
Flutter uses PubNub for sending push notifications when the users add new posts to the Flutter Community or leave comments.