Websockets Server with Fault-Tolerance and Durable Message Store
- by smitchell360
I am starting to experiment with websockets.
Does anyone know of a websockets server (open source or paid) that provides a durable store of the websocket "channel"? All of the examples that I have found do not address durability -- if a websockets server goes down, all "channel" data is lost.
Services such as Pusher do not really discuss whether they address the durability issue (and I have not received a response from tech support yet).
Happy to roll my own, but would rather not reinvent the wheel.
EDIT:
I'm not looking for websockets 101 information. That is readily available and understood.
I'm looking for a server (open source or paid) that supports websockets and has a durable store for the websocket data so that, in the event that a server fails, a new server can take over where the original one left off.
Two main purposes:
1. support failover scenarios contemplated by the websockets Network Working Group http://tools.ietf.org/html/draft-ibc-websocket-dns-srv-02#section-5.1 (most importantly so that missed messages are sent when a client connects to a failover server)
2. support scenarios where new subscribers must receive all past messages that were published.
Of course this can be handled at the application layer...but that is not what I am looking for.
EDIT
So, after some research the following installed options seem to be the most robust:
Kaazing Migratory
Migratory (http://migratory.ro)
Hosted services that seem "real"
Pusher (great API but no history feature yet)
PubNub (has history)
All of the above services have graceful fallback to other communication methods if websockets are not available.
I was not able to find any open source that provided "out of the box" clustering, fail-over, and a durable message store to play back history. There are some projects that may serve as good starting points, but not exactly what I am looking for.