所以我目前正在构建一个应用程序,我正在尝试考虑最有效的联网方式。
我正在尝试在聊天室和论坛帖子之间创建一个交叉点,因为您发布一个主题,人们就会谈论它。我希望这个聊天是实时的,用户将能够在许多不同的主题(聊天室)之间快速切换。
这本质上只是一个简单的聊天室应用程序,如您所知,使用 SocketIO 非常容易。然而,让我感到紧张的是可扩展性问题。让许多用户订阅许多 SocketIO 房间是否存在可扩展性问题?
通常对于聊天室应用程序,用户一次只能在一个聊天室中处于活动状态,因此总共不会有那么多房间。在我正在设计的系统中,可能同时更新数千个这样的主题(聊天室),并且单个用户可能同时在其中的许多中处于活动状态(每次您创建一个新的论坛帖子,您正在创建一个新的 SocketIO 房间)。
如何最好地解决这个问题?我正在考虑只销毁一个多小时左右未更新的主题的所有 SocketIO 房间,将它们存储在数据库中,所有信息都准备好在再次更新时重新创建它?这会是一个合适的方法吗?
有没有人遇到过这样的问题?我觉得我这样做是错误的,甚至不应该为此使用网络套接字。
更新:
我很愚蠢,我刚刚意识到您只需要在用户浏览主题时发送 socket.io 消息,而不是针对所有主题。
但是,我需要推送一条消息,告诉用户主题已更新(有人发表评论等)