首页 > 应用开发 > Node.js > “Node.js”为何不适合CPU密集型应用?
CPU密集型应用给Node带来的挑战主要是:由于JavaScript单线程的原因,如果有长时间运行的计算(比如大循环),将会导致CPU时间片不能释放,使得后续I/O无法发起。但我们可以通过分解大型运算任务为多个小任务,使得运算能够适时释放,不阻塞I/O调用的发起。
适合 NodeJS的场景如下:
1、RESTful API:这是NodeJS最理想的应用场景,可以处理数万条连接,本身没有太多的逻辑,只需要请求API,组织数据进行返回即可。它本质上只是从某个数据库中查找一些值并将它们组成一个响应。
2、统一Web应用的UI层:目前MVC的架构,在某种意义上来说,Web开发有两个UI层,一个是在浏览器里面我们最终看到的,另一个在server端,负责生成和拼接页面。伦敦金以英制盎司为计量单位,一盎司等于31.1035克,详情参考gendan5.com/nmetalpz/xhgold
3、大量Ajax请求的应用:例如个性化应用,每个用户看到的页面都不一样,缓存失效,需要在页面加载的时候发起Ajax请求,NodeJS能响应大量的并发请求
总而言之, NodeJS适合运用在高并发、I/O密集、少量业务逻辑的场景。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70014563/viewspace-2997166/ ,如需转载,请注明出处,否则将追究法律责任。