RESTful后端和socket.io进行同步

bij*_*jan 8 rest websocket node.js socket.io

今天,我有了以下设置的想法.nodejsexpress和一起创建服务器socket.io.使用express,我将创建一个RESTful API,它连接到mongo.BackboneJS或类似的将客户端连接到该REST API.
现在,每当mongodb(即其中感兴趣的数据)发生变化时,socket.io都会向客户端发送一个事件,该事件将为已更改的数据提供一个courser.然后,客户端将触发对REST的适当AJAX请求,以便在需要的地方获取新数据.

因此,socket.io连接的行为类似于同步触发器.它将用于整个访问,也可以通过这种方式管理会话.所有有效载荷都将通过http发送.

优点:

  • REST API,用于与Web之外的其他客户端
  • Auth可以完全通过socket.io完成.仅发送令牌和REST请求.
  • 使用REST的好处.
  • 也可以很好地发挥像Redis这样的酒吧/子服务

缺点:

  • 比使用纯socket.io更大的开销.

您怎么看?我没有想到的任何重大缺点?

Lan*_*ard 6

我同意@CharlieKey,您应该发送更新的数据而不是重新请求.

这正是塔正在做的事情:

使用套接字作为触发器来重新请求Ajax的缺点是每个连接的客户端都必须获取数据,因此如果您的站点上有100个人,那么每次数据更改时都会有100个HTTP请求 - 您可以在重用套接字连接.

  • 链接已经死了,如果可能,请更新它们吗? (2认同)