NodeJS - 可靠性

时间:2015-12-10 19:13:10

标签: node.js

我知道的一件事是Node.js不应该用于密集的CPU任务。现在,假设我有一个node.js服务器接收来自多个客户端(来自MIC)的音频流。通过执行memcpy(非常快)将此音频缓存在c / c ++插件中。但是当触发end事件时,此插件将转换“audio-to-command”并将其发送给客户端。此转换消耗75毫秒(最大)。 Node.js可以被认为是解决这个问题的可靠方法吗? 75ms可以被认为是node.js中的一项密集型任务?建议阻止操作的最长时间是多少?

1 个答案:

答案 0 :(得分:2)

阻止不是Node.js方式。

您可以异步(在单独的线程中)进行此操作,不会发生任何阻塞,并在操作完成时从您的插件调用回调,因此主节点.js线程不会被阻止,并且能够处理其他请求。

在NAN中有很好的帮助程序,如AsyncWorker和AsyncQueueWorker。

https://github.com/nodejs/nan

还有C ++库可以使用WebSockets,所以我会考虑客户端和插件之间的直接连接。