Node.js的优缺点
- Node.js是建立在V8引擎上,与JavaScipt语法相似。Node.js主要为了方便解决现实当中一些系统瓶颈,例如:高并发,异步,线程等问题。
Node.js的优缺点
####优点:
-
高并发(最重要的优点)
-
适合I/O密集型应用
####缺点:
-
不适合CPU密集型应用;CPU密集型应用给Node带来的挑战主要是:由于JavaScript单线程的原因,如果有长时间运行的计算(比如大循环),将会导致CPU时间片不能释放,使得后续I/O无法发起;
解决方案:分解大型运算任务为多个小任务,使得运算能够适时释放,不阻塞I/O调用的发起;
-
只支持单核CPU,不能充分利用CPU
-
可靠性低,一旦代码某个环节崩溃,整个系统都崩溃
原因:单进程,单线程
解决方案:
(1)Nnigx反向代理,负载均衡,开多个进程,绑定多个端口;
(2)开多个进程监听同一个端口,使用cluster模块;
-
开源组件库质量参差不齐,更新快,向下不兼容
-
Debug不方便