websocket,socket,io,sockjs,meteor…如何做出select的困惑今天

我即将做出一个协作编辑应用程序的决定。 我调查了websockets,坦率地说我很困惑。 这里我的发现迄今为止:

  • 有很多关于websocket的文章 – 但是很多是2009年的,2010年的…通常有信息,websockets不能在所有的浏览器和/或实现蹩脚的function不全…今天的地位是什么?
  • 有很多的框架 – 但主要是节点。 我们的应用程序是在RoR中,Eventmachine / em-websocket看起来已经有一年了 – 是否仍然会满足今天的要求?
  • Socket.io,SockJS,meteor…有这么多,我将无法尝试所有,但我做了一些与SockJS的第一次试验。 我们的应用是二进制数据的协作编辑; 多个用户可能正在编辑同一个文档,而多个用户可能同时在不同的文档上工作。 因此,可伸缩性是关键; SockJS似乎不能扩展超过一个服务器(粘性会话)。 此外,客户需要同行更新 – 我是否需要广播设施? 我需要redis吗?

我想我的问题可以归结为:

  • 对于我们的应用程序,我应该直接使用websockets并自定义还是使用框架?
  • 如果一个框架,哪一个更适合我们的特定需求?

我知道这些问题有点含糊,但我首先想了解技术在何处做出正确的决定。 谢谢!