NATS vs Pusher: What are the differences?
NATS: Lightweight publish-subscribe & distributed queueing messaging system. Unlike traditional enterprise messaging systems, NATS has an always-on dial tone that does whatever it takes to remain available. This forms a great base for building modern, reliable, and scalable cloud and distributed systems; Pusher: Hosted APIs to build realtime apps with less code. Pusher is the category leader in delightful APIs for app developers building communication and collaboration features.
NATS and Pusher can be primarily classified as "Realtime Backend / API" tools.
"Fastest pub-sub system out there" is the top reason why over 13 developers like NATS, while over 44 developers mention "An easy way to give customers realtime features" as the leading cause for choosing Pusher.
Product Hunt, Groupon, and Buffer are some of the popular companies that use Pusher, whereas NATS is used by Apcera, Workiva, and Bridgevine. Pusher has a broader approval, being mentioned in 125 company stacks & 42 developers stacks; compared to NATS, which is listed in 26 company stacks and 12 developer stacks.
What is NATS?
What is Pusher?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using NATS?
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
In the original prototype all the communication was handled by a backend server. Each client connected directly to the server using the socket.io library. This quickly proved to be messy and unreliable, especially on the cheap server being used to host it.
Websockets proved to be a little more reliable, but still just as messy and not all browsers support them. That's when the project was switched over to use Pusher. Using Pusher has allowed all but the initial connection code to be off-loaded onto the client. Now instead of communicating through a self-hosted server, clients can communicate pretty much peer-to-peer over Pusher.
Pusher is used to send update notification whenever Lapzbot joins a server.