nodejs不适用的三个场景:
1. 计算密集型程序。
因为nodejs单线程的特性,只能使用一个cpu核心,如果有个计算密集型程序要占用cpu200毫秒,那么事件循环中的代码都会延迟200毫秒执行。
不过一般真实场景不会将这样一个程序做成实时响应型的。比如抖音用户上传视频,视频转码、鉴黄都属于计算密集型的,所以会在用户上传之后,提示用户要等一会儿,等处理完再来提示用户。
2. 单用户多任务型应用
nodejs的异步机制可以处理多用户的并发请求,但是却无法对单用户的多任务线性执行有更好的表现,因为它无法利用很多的服务器资源,也没有锁。
3. 逻辑十分复杂的事务
有些现实中很复杂的场景,写成程序后,只能按部就班的一步步执行,而nodejs的异步机制显然不是线性的。
来自《nodejs开发指南》
展开
评论