【发布时间】:2014-07-26 09:26:12
【问题描述】:
这是一个重复的问题,但我想请它进一步澄清。
我想使用 socket.io 创建一个私人聊天。在谷歌搜索时,我找到了 2 个解决方案:
- 使用数组存储活动用户列表
- 使用房间概念
假设我的应用拥有数百万活跃用户。
这就是我想要的:我在 mysql db 中有我的朋友列表,当我登录时,我想要所有朋友及其状态(活跃与否)。
案例 1. 如果我使用一个数组来存储所有活跃用户,那么它工作得很好,但这是将所有连接到我的应用的用户存储在一个数组中的好方法吗?
案例 2. 如果我使用每个用户朋友都有一个唯一的 roomid 的房间概念, 然后每当用户登录时,他必须加入所有这些房间。它也对我有用,但在这种情况下,我怎么知道我的朋友是否活跃?
我想知道哪种解决方案适用于我的拥有数百万用户的应用,或者有没有其他方法可以解决这个问题。
【问题讨论】:
-
您能否详细说明您正在使用的 socket.IO 版本以及您打算使用多个节点还是只使用一个节点?
-
我使用的是 socket.io 的 0.9.16 版本
标签: node.js sockets socket.io nodes nodejitsu