【发布时间】:2015-06-12 03:22:36
【问题描述】:
我目前正在考虑一个 NodeJS 应用程序,我想在其中使用 socket.io 在多个客户端之间进行通信。
该应用程序将由数百个客户端组成,这些客户端都在谷歌地图上拥有一个位置。我希望服务器为每个客户端处理,这些客户端彼此相距 200 米。如果我要在 nodeJS 中使用纯 JavaScript 来完成这一切,这会给服务器带来巨大的负载,而且我担心这会导致服务器在处理这个巨大的任务时暂停所有其他任务,这会导致所有通信在服务器执行 cpu 密集型任务时停止。
我的问题是,如何将 NodeJS 与 Socket.io 一起用于客户端之间的通信,并将更多 CPU 密集型任务移动到其他地方,以便在服务器执行 CPU 密集型任务时客户端之间的通信不会停止?
先谢谢了,请原谅我的英语!
布拉姆
【问题讨论】:
-
我觉得这个问题对于一个有用的答案来说可能有点宽泛。也许如果您在 Node 中进行测试,您可以对多任务处理进行基准测试和评估您的担忧,并就您的方法提出一些更具体的问题?
-
可能值得(也)研究优化的数据结构,这将使您想要执行的查询减少 CPU 密集度(对于地理空间查找,R-Tree's 非常常见且非常快)。
标签: javascript node.js sockets socket.io cpu