I'm evaluating Pusher and PubNub at the moment to enable bi-directional realtime communications between my primarily web clients and my servers. Both look impressive, with Pusher's docs seeming to be better, and PubNub's scalability and reliability clearly a strong point for them.
However, as I am managing a budget, I am concerned that Pusher & PubNub costs may become an issue for us, and am therefore considering using one of the open source alternatives out there - I've looked primarily at Socket.io, Faye and jWebSocket.
I have my concerns though running the service myself though:
- Has anyone actually scaled a Socket.io or other open source solution to multiple servers before? PubNub claim to deal with 1M messages a second!, I somewhat doubt Socket.io could do that without an unfathomable number of servers, if it would work at all.
- Are there features in the paid services that I am likely going to miss down the line should I go with the open source solutions?
- Is latency really going to be a concern if I have my server on AWS anyway? PubNub are in multiple locations so I expect this should reduce latency although if a message needs to be sent from the US to Japan, having a server in Japan wouldn't help with latency as it still needs to travel there one way or another.
Thanks for the advice.