在过去的几周里,我使用HTML5 Websockets 和 node.js 和 socket.io 构建了一个小型通知系统。 还有一些事情我还没有解决。
我已经读过使用 node.js 的实时通知应该是最好的性能解决方案,而不是长轮询等,因为非阻塞 i/o 操作。
现在假设我们必须通知这个用户的朋友。诸如“我买了一部新 iPhone”之类的东西。如何教 node.js 实时通知特定用户 1:n?直到知道我只有发送和接收消息 1-1 通信。这意味着我必须先检查 facebook api 好友列表并找出哪个 facebook_id 以某种方式与哪个 socket_id 连接。然后检查用户的隐私设置,如果他想接收通知,然后发送并保存到数据库中。
所以对我来说,这似乎不是最有效的解决方案......
目前我会为 node.js 使用 mongo-db 本机驱动程序,并通过服务器端的 javascript 完成数据库操作。我仍然需要实现 facebooks javascript sdk 来获取好友列表,但我会遇到用户隐私设置的问题。这不会破坏非阻塞 I/O 的所有优点吗?
你如何实际解决这个问题。对我来说,这似乎很复杂。
非常感谢。