人们通常使用 SocketIO 和 Node 构建的第一个应用程序通常是聊天应用程序。这个聊天应用程序基本上有一个节点服务器,会向多个客户端广播。在 Node 代码中,你会有一些像这样的东西。
//Psuedocode
for(client in clients){
if(client != messageSender){
user.send(message);
}
}
这对于少量用户来说是很好的,但我看到了一个问题。首先,存在单点故障,即Node服务器。其次,应用程序会随着客户端数量的增加而变慢。当我们达到瓶颈时,有什么可以做的呢?是否有一种架构(水平/垂直扩展)可以用来缓解这个问题?