My company has been using with Socket.IO for async communication in 
production for a little while, and while it worked great in private beta, 
it has serious performance issues (as well as memory leaks) with only ~ 500 
concurrent users. Ouch. The trouble with Socket.IO is that it tries to do 
too much. It doesn't live at the right level of abstraction.

The ideal solution would be a networking layer with proper fallbacks 
(websocket -> flashsocket -> xhr -> jsonp, et al) that handles client 
handshaking and *nothing else.* After dealing with a lot of issues around a 
load-balanced socket.io server [1], I believe the better library to utilize 
would be SockJS [2]. SockJS has a spec, a solid client library and some 
server implementations (netty version in beta, vertx supposedly works out 
of the box).

I haven't used SockJS yet (it will require a few small server/client 
libraries to do proper multiplexing), but it's likely the direction we're 
going to be taking since the situation with SocketIO appears to be pretty 
dire as of late. Our software usage really kicks up 2-3x during the fall 
(higher-ed focused company), so we'll be forced to move sooner rather than 
later.

What would be really-really awesome would be a core.async + http-kit 
powered library. Just throwing that out there :P

[1] https://github.com/learnboost/socket.io/issues/438
[2] http://sockjs.org

Shameless plug: if you enjoy problems like these and would consider moving 
to Dallas to solve them, reach out to me: clifton [at] orgsync [dot] com

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to