Socket.io 关于数据库changefeed的查询

Socket.io 关于数据库changefeed的查询,socket.io,rethinkdb,Socket.io,Rethinkdb,我们使用的是带有changefeed和socketio的referencedb。它工作得很好。在我们的应用程序中,对于来自客户端的每个连接(当用户浏览到该站点时),我们通过一个常量查询(如select*from messages)向用户订阅一个changefeed。如果我打开5个浏览器实例,将执行5次change feed代码 我的问题是changefeed如何在内部工作。它是否将侦听5个对rethnkdb服务器的changefeed订阅。或者,服务器将识别唯一的查询,并继续在内部监听所有此类客

我们使用的是带有changefeed和socketio的referencedb。它工作得很好。在我们的应用程序中,对于来自客户端的每个连接(当用户浏览到该站点时),我们通过一个常量查询(如select*from messages)向用户订阅一个changefeed。如果我打开5个浏览器实例,将执行5次change feed代码

我的问题是changefeed如何在内部工作。它是否将侦听5个对rethnkdb服务器的changefeed订阅。或者,服务器将识别唯一的查询,并继续在内部监听所有此类客户端连接的单个changefeed,并像广播员一样工作

谢谢
Anup

即使您订阅了不同查询的源,REJECTDB也会在内部消除changefeed消息的重复数据。发生写操作的机器将向所有已订阅客户端的机器发送一条消息,然后这些机器将向所有需要查看该更改的客户端发送一条消息。

我要做的是:

  • 在每个后端服务器上创建ConnectionManager类
  • ConnectionHandler在connect/close上注册/取消注册每个连接
  • ConnectionManager必须是唯一的changeFeed订阅服务器
  • ConnectionsManager将向其所有活动连接广播更改
这样,它对数据库和后端都更轻