【问题标题】:HTML5 Websocket + Node.js Realtime Notification System [closed]HTML5 Websocket + Node.js 实时通知系统 [关闭]
【发布时间】:2012-10-23 08:30:47
【问题描述】:

在过去的几周里,我使用 HTML5 Websockets 和 node.js 和 socket.io 构建了一个小型通知系统。 还有一些事情我还没有解决。

我已经读到,由于非阻塞 i/o 操作,使用 node.js 的实时通知应该是最好的性能解决方案,而不是长轮询等。

现在假设我们必须通知这个用户的朋友。诸如“我买了一部新 iPhone”之类的东西。如何教 node.js 实时通知特定用户 1:n?直到知道我只有发送和接收消息 1-1 通信。 这意味着我必须先检查 facebook api 好友列表并找出哪个 facebook_id 以某种方式与哪个 socket_id 连接。然后检查用户的隐私设置,如果他想接收通知,然后发送并保存到数据库中。

所以对我来说,这似乎不是最有效的解决方案......

目前我会为 node.js 使用 mongo-db 本机驱动程序,并通过服务器端的 javascript 完成 db 操作。 我仍然需要实现 facebooks javascript sdk 来获取好友列表,但我会在用户隐私设置方面遇到麻烦。这不会破坏非阻塞 I/O 的所有优势吗?

您实际上是如何解决这个问题的。对我来说,这似乎很复杂。

非常感谢。

【问题讨论】:

  • 我会认真考虑为此使用 redis 发布/订阅。让客户端订阅他们自己的 频道或 频道,然后当用户发送消息时,只需将其发布到目标用户/组。
  • 这听起来不错。我试试看。

标签: html node.js facebook-graph-api notifications websocket


【解决方案1】:

你不应该去 Facebook 查看好友列表等。 您应该缓存它们,如果是这样,我假设用户已登录 似乎很容易。

  1. 获取用户。
  2. 检查发件人是否是他的朋友
  3. 检查收件人是否想收到邮件。

顺便说一句,redis 快很多。

编辑: 如果您担心用户数据不会更新 这就是为什么你不缓存你应该检查Real-time Updates

【讨论】:

  • 嗨,谢谢。我只是担心,我的缓存列表不是最新的。
  • 谢谢,我去看看
猜你喜欢
  • 1970-01-01
  • 2014-08-20
  • 2015-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多