Websockets Server with Fault-Tolerance and Durable Message Store
Posted
by
smitchell360
on Server Fault
See other posts from Server Fault
or by smitchell360
Published on 2011-06-19T18:55:59Z
Indexed on
2011/11/26
17:57 UTC
Read the original article
Hit count: 341
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.
© Server Fault or respective owner