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:
- support failover scenarios contemplated by the websockets Network Working Group https://datatracker.ietf.org/doc/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)
- 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.