使用socket.io处理50000个并发客户端的Node.js服务器

8
我们正在开发一个Javascript控件,它应该始终连接到服务器以接收动画更新。
我们计划将这个东西托管在Amazon云上。
情景如下:服务器连接到activemq队列等待更新,对于每个更新,它会向所有连接的客户端广播。
使用node.js + socket.io能够处理这样的负载吗? 单个node.js服务器能够处理这样的负载吗? 如果我们将不得不使用多个节点,如何组织快速传输?
1个回答

20
你说你计划在亚马逊上托管,因此首先,不应该将任何内容限定在单个服务器上。亚马逊的机器可能会“消失”,您必须假设您将使用多台计算机。
对于单个盒子来说,50k连接是一个非常大的数字。这里有一篇非常详细的博客文章,讨论了如何使用node.js+socket.io实现“达到10k”的目标。
以下是一句非常有意义的引用:
“似乎10,000个客户端所需的序列化工作量超出了我的服务器处理能力。”
因此,“达到50k”关键要素之一将是仅推送数据的工作量。
如果我们需要使用多个节点,如何组织快速传输?

这篇博客文章是三篇中的第一篇。完成第一篇后,请阅读另外两篇。这将指引您走向正确的方向。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接