我对node.js缩放有一些基本的疑问
问题解释
我正在解决一个问题,即我有多个设备以高频率发送数据,我需要处理数据(基于数据,必须完成一些网络I / O)并将其保存到数据库中。
我首先设计了这个架构,因为请记住,当要完成高计算工作时,不能使用Node.js服务器,因此在这里添加后台服务器。
1)如果我的计算任务只涉及对网络的I / O请求怎么办? 如果对网络的异步请求数量很高,我可以使用单个node.js实例吗? libuv可以产生的最大I / O线程数是多少?内部c ++线程的数量是否会影响node.js服务器的性能,还是它们是独立的?
2)我应该使用集群模块在同一台机器上部署node.js实例,而不是使用不同的硬件机器吗?它会影响性能还是应该安装不同的机器?利用cpu的所有内核可能对服务器的性能有害吗?
3)如果计算工作涉及大量CPU,是否还有其他方法可以利用node.js,或者在我的后台工作中使用不同语言(例如java)部署服务器是否真的是必须的?