【发布时间】:2011-08-22 03:05:22
【问题描述】:
作为一个假设的例子,假设我想制作一个显示人们 twitter 网络的应用程序。我将提供一个 API,允许客户端查询单个用户名。该用户的前 x 条推文将被发送给客户端。然后,将扫描最初的人提到的每个人。他们的前 x 条推文将被发送给客户。这个过程将递归地继续,广度优先,直到达到预定义的深度。客户端将实时接收数据,显示统计数据,例如扫描的用户数、剩余要扫描的已知用户数以及不断增长的推文数据列表。所有处理都不复杂(少量文本的正则表达式),但许多网络请求会从单个初始请求产生。
我真的很想要 node.js 和 socket.io 的出色实时功能,但我觉得这是对这些技术的滥用——它们不适合繁重的服务器端提升。是否有更适合我想要完成的工具集,或者为此目的使用这些工具的特定方式? Milewise 正在做类似的事情,但我认为我的应用程序会比他们的应用程序消耗更多的网络资源。
谢谢。
【问题讨论】:
-
看来这就是 Websockets(Socket.IO) 的用途。真正的问题是你能不能以异步的方式来做,这样它就不会阻塞服务器,因为节点是单线程的。
-
使用node做IO没有错。节点被用来发出大量的 IO 请求。它不是为繁重的计算(算法)而设计的
标签: node.js real-time websocket socket.io