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.