有关rethinkdb changefeed的问题

时间:2016-04-20 02:56:54

标签: socket.io rethinkdb

我们正在使用rethinkdb和changefeed以及socket io。它的工作正常。在我们的应用程序中,对于来自客户端的每个连接(当用户浏览到站点时),我们使用常量查询(例如select * from messages)向用户订阅更改源。如果我打开5个浏览器实例,将会执行5次更改订阅源代码。

我的问题是改变饲料如何在内部发挥作用。是否会侦听对rethnkdb服务器的5个changefeed订阅。或者服务器将识别唯一的查询并继续在内部监听所有此类客户端连接,并像广播公司那样工作。

由于 阿努普

2 个答案:

答案 0 :(得分:1)

即使您订阅了不同查询的Feed,RethinkDB也会在内部重复删除更改邮件。发生写入的计算机将向具有订阅客户端的所有计算机发送单个消息,然后这些计算机将向需要查看更改的所有客户端发送消息。

答案 1 :(得分:0)

我要做的是:

  • 在每个后端服务器上创建一个ConnectionsManager类
  • ConnectionHandler在connect / close
  • 上注册/取消注册每个连接
  • ConnectionsManager必须是唯一的changeFeed订阅者
  • ConnectionsManager会将更改广播到其所有活动连接

这样,它对数据库和后端都更轻。