我正在开发一个 IOT 项目,其中 Node.js 应用程序执行以下任务:
1. 使用异步消息传递库(IO 绑定)读取消息流
2. 将消息发送到 Web 服务,在该服务中机器学习根据之前的消息进行由 Node.js 应用程序发送(IO 绑定,因为只涉及 API 调用)
3. 从 Web 服务接收机器学习生成的模式(使用 REST API) 4. 将模式与实时流消息(CPU密集,因为复杂的算法涉及模式匹配)。
5. 记录堆栈跟踪(IO 绑定)
默认情况下,将开发一个 node.js 应用程序以将这些功能作为单独的任务在单线程下运行。事实上,生成子进程仅对 CPU 密集型任务有用,如何为 node.js 进程进行集群,同时执行 IO 和 CPU 绑定任务?我们是否需要在这个 node.js 应用程序上部分执行集群?
谁能建议这个 node.js 应用程序的有效架构?