Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Faye

29
34
+ 1
24
Pusher

610
1.4K
+ 1
234
Socket.IO

13.3K
10.9K
+ 1
776

Faye vs Pusher vs Socket.IO: What are the differences?

Introduction: Here are the key differences between Faye, Pusher, and Socket.IO.

  1. Real-time Messaging Protocol Support: Faye and Pusher support the Bayeux Protocol while Socket.IO uses WebSocket protocol. Bayeux Protocol includes additional features like channels, wildcards, and message batching which WebSocket does not provide.

  2. Implementation Complexity: Faye is an open-source library that you can self-host on your server, providing more control but requiring more maintenance. Pusher is a hosted service, so you don't have to worry about the infrastructure setup. Socket.IO is a library that can work with various real-time transport protocols, making it versatile but potentially more complex to implement.

  3. Scalability: Pusher provides a managed infrastructure that can easily scale to accommodate high volumes of concurrent connections. Faye, being self-hosted, may require more effort to scale effectively. Socket.IO can scale well but may require more manual configuration and optimization.

  4. Pricing Model: Pusher has a tiered pricing model based on concurrent connections and features, which can be cost-effective for small to medium-sized projects. Faye and Socket.IO are open-source, which may be more budget-friendly for larger projects or those with specific privacy or control requirements.

  5. Data Transport Reliability: Pusher provides built-in data synchronization and retry mechanisms to ensure reliable message delivery. Faye and Socket.IO may require additional configuration or implementation of these features in your application code.

  6. Community and Support: Faye and Socket.IO have active open-source communities for support and contributions. Pusher offers dedicated support but at a higher cost, making it suitable for projects that require premium support services.

In Summary, the key differences between Faye, Pusher, and Socket.IO lie in their protocol support, implementation complexity, scalability, pricing model, data transport reliability, and community support.

Advice on Faye, Pusher, and Socket.IO
Needs advice
on
AblyAblyPubNubPubNub
and
PusherPusher

I am building an IoT application that will utilize connected air quality sensors to provide real-time indoor air quality in offices. I want to be able to share this data with a few different databases, etc.

Wondering if anyone has any advice on which real-time streaming API would be best for this sort of application, or even how I should think about it?

See more
Replies (2)
Ben Gamble
Recommends
on
AblyAbly

For IoT, we support MQTT along with websockets and SSE. The pattern you're suggesting that involves harvesting data from devices and soaking into a database is easy to achieve with one of the Ably integrations (Serverless functions/webhook) . Here are some tutorials to do things like this: https://ably.com/tutorials/reactor-event-zapier#step2-mqtt-ably

See more
Philip Rossen
Recommends
on
PusherPusher
at

We use Pusher at www.justlearn.com. It works fine. When you reach more users, Pusher gets expensive. We use Pusher for live chat between users. Their software is easy to use. We have had issues with auth on Pusher.

See more
Needs advice
on
ApolloApolloFirebaseFirebase
and
Socket.IOSocket.IO

We are starting to work on a web-based platform aiming to connect artists (clients) and professional freelancers (service providers). In-app, timeline-based, real-time communication between users (& storing it), file transfers, and push notifications are essential core features. We are considering using Node.js, ExpressJS, React, MongoDB stack with Socket.IO & Apollo, or maybe using Real-Time Database and functionalities of Firebase.

See more
Replies (3)
Timothy Malstead
Junior Full Stack Developer at Freelance · | 7 upvotes · 492.8K views
Recommends
on
FirebaseFirebase

I would recommend looking hard into Firebase for this project, especially if you do not have dedicated full-stack or backend members on your team.

The real time database, as you mentioned, is a great option, but I would also look into Firestore. Similar to RTDB, it adds more functions and some cool methods as well. Also, another great thing about Firebase is you have easy access to storage and dead simple auth as well.

Node.js Express MongoDB Socket.IO and Apollo are great technologies as well, and may be the better option if you do not wish to cede as much control to third parties in your application.

Overall, I say if you wish to focus more time developing your React application instead of other parts of your stack, Firebase is a great way to do that.

See more
Recommends
on
AblyAbly

Hello Noam 👋,

I suggest taking a look at Ably, it has all the realtime features you need and the platform is designed to guarantee critical functionality at scale.

Here is an in depth comparison between Ably and Firebase

See more
Recommends
on
8base8base

Hey Noam,

I would recommend you to take a look into 8base. It has features you've requested, also relation database and GraphQL API which will help you to develop rapidly.

Thanks, Ilya

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Faye
Pros of Pusher
Pros of Socket.IO
  • 6
    Simple
  • 5
    Open source
  • 5
    Node.js
  • 2
    Real-time
  • 2
    Scalable
  • 2
    Ruby (EventMachine)
  • 2
    BAYEUX Protocol (not proprietary)
  • 55
    An easy way to give customers realtime features
  • 40
    Websockets
  • 34
    Simple
  • 27
    Easy to get started with
  • 25
    Free plan
  • 12
    Heroku Add-on
  • 11
    Easy and fast to configure and to understand
  • 9
    JSON
  • 6
    Happy
  • 6
    Azure Add-on
  • 5
    Support
  • 4
    Push notification
  • 219
    Real-time
  • 143
    Node.js
  • 141
    Event-based communication
  • 102
    Open source
  • 102
    WebSockets
  • 26
    Binary streaming
  • 21
    No internet dependency
  • 10
    Large community
  • 6
    Push notification
  • 5
    Ease of access and setup
  • 1
    Test

Sign up to add or upvote prosMake informed product decisions

Cons of Faye
Cons of Pusher
Cons of Socket.IO
    Be the first to leave a con
    • 11
      Costly
    • 12
      Bad documentation
    • 4
      Githubs that complement it are mostly deprecated
    • 3
      Doesn't work on React Native
    • 2
      Small community
    • 2
      Websocket Errors

    Sign up to add or upvote consMake informed product decisions

    31
    359
    937
    2.9K
    1.5K
    1.5K
    573
    16
    - No public GitHub repository available -
    - No public GitHub repository available -

    What is Faye?

    Faye is a set of tools for simple publish-subscribe messaging between web clients. It ships with easy-to-use message routing servers for Node.js and Rack applications, and clients that can be used on the server and in the browser.

    What is Pusher?

    Pusher is the category leader in delightful APIs for app developers building communication and collaboration features.

    What is Socket.IO?

    It enables real-time bidirectional event-based communication. It works on every platform, browser or device, focusing equally on reliability and speed.

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use Faye?
    What companies use Pusher?
    What companies use Socket.IO?

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Faye?
    What tools integrate with Pusher?
    What tools integrate with Socket.IO?
      No integrations found

      Sign up to get full access to all the tool integrationsMake informed product decisions

      Blog Posts

      GitGitHubDocker+34
      29
      42776
      JavaScriptGitHubNode.js+26
      20
      5063
      What are some alternatives to Faye, Pusher, and Socket.IO?
      NGINX
      nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server, written by Igor Sysoev. According to Netcraft nginx served or proxied 30.46% of the top million busiest sites in Jan 2018.
      Apache HTTP Server
      The Apache HTTP Server is a powerful and flexible HTTP/1.1 compliant web server. Originally designed as a replacement for the NCSA HTTP Server, it has grown to be the most popular web server on the Internet.
      Amazon EC2
      It is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.
      Firebase
      Firebase is a cloud service designed to power real-time, collaborative applications. Simply add the Firebase library to your application to gain access to a shared data structure; any changes you make to that data are automatically synchronized with the Firebase cloud and with other clients within milliseconds.
      Amazon Web Services (AWS)
      It is a comprehensive and broadly adopted cloud platform, offering over 200 fully featured services from data centers globally.
      See all alternatives