Build a realtime liveblog with RethinkDB and PubNub
rethinkdb.com
rethinkdb.com
There are plenty of standalone websocket (relay) servers if your language of choice doesn't implement Websockets well. Also if you're using nginx, you have built-in modules like pushstream that can handle it from the nginx side.
Considering the biggest selling point of RethinkDB is to provide realtime updates faster than other solutions, putting Pubnub is not just slowing the real-time system down but adding extra monetary cost.
But scaling a Socket.io application is not trivial, there are users who want a hosted solution for realtime streams so that they don't have to worry about their application falling over if they get too many simultaneous connections.
Granted, the case in the blog post is perhaps a bit contrived. But consider, for example, a scenario where you take a single page web application, deploy it to a CDN, and have all the realtime traffic that it accommodates routed through PubNub's infrastructure. You could make it so that no traffic is hitting your own servers, and you are just broadcasting updates into the PubNub stream from your RethinkDB-based backend. That would be pretty trivial to scale.
And in terms of the speed at which the messages are routed, for the purposes of a liveblog or something of that nature, pushing everything through PubNub isn't noticeably slower than using Socket.io.
Of course, nobody's saying that you should always use PubNub. As I said, we often use Socket.io ourselves. But I do think there is legitimate value in presenting it as an available option.
PubNub employee here, I agree, this is the reason.
> And in terms of the speed at which the messages are routed, for the purposes of a liveblog or something of that nature, pushing everything through PubNub isn't noticeably slower than using Socket.io.
We aim for 1/4 second global latency (averaging 151ms currently http://status.pubnub.com/).
Great demo!