RESTful backend and socket.io to sync

Viewed 6564

Today, i had the idea of the following setup. Create a nodejs server along with express and socket.io. With express, i would create a RESTful API, which is connected to a mongo. BackboneJS or similar would connect the client to that REST API.
Now every time the mongodb(ie the data in it iam interested in) changes, socket.io would fire an event to the client, which would carry a courser to the data which has changed. The client then would trigger the appropriate AJAX requests to the REST to get the new data, where it needs it.

So, the socket.io connection would behave like a synchronize trigger. It would be there for the entire visit and could also manage sessions that way. All the payload would be send over http.

Pros:

  • REST API for use with other clients than web
  • Auth could be done entirely over socket.io. Only sending token along with REST requests.
  • Use the benefits of REST.
  • Would also play nicely with pub/sub service like Redis'

Cons:

  • Greater overhead, than using pure socket.io.

What do you think, are there any great disadvantages i did not think of?

3 Answers
Related