【发布时间】:2013-03-10 06:59:33
【问题描述】:
考虑创建一个用户可以协作的实时应用。发现 node.js + socket.io 是此类问题的解决方案之一。
我从其他开发人员那里听说,就我的服务器向用户提供的套接字数量而言,将会存在瓶颈。因此,如果我有数百个用户同时协作,则打开的套接字数量将用完,用户将无法连接。这是一个有效的担忧吗?
更新: 关于某种相关说明,我希望使用 SockJS 而不是 Socket.io。这些库中有一个thread that explains pros and cons。还有this is a good read。
【问题讨论】:
-
JS 并不是最快的语言。如果您发现自己对 JS 感到窒息,那么使用 C++ 解决方案可以轻松地将您的吞吐量翻两番。问题不在于您拥有多少个套接字,而在于您是否能够及时处理它们。
-
进程允许打开的文件描述符(包括套接字)的数量在所有(大多数?)UNIX类型的操作系统上都是可配置的,通常使用
ulimit(在shell中)或@987654324 @(系统范围内,仍然需要ulimit)。
标签: node.js websocket socket.io