Node 是一个让 JavaScript 运行在服务端的开发平台, 它让 JavaScript 成为与 PHP,Python,Perl,Ruby 等服务端语言平起平坐的脚本语言. 使用 node 有很多好处但也存在一些弊端, 下面就然我们来看一下 Node.JS 有哪些弊端.
node 的弊端:
1, 大量匿名函数使异常栈变得不好看.
2, 无法以 request 为单位 catch 异常.
3,Debug 很困难. 没有 stack trace, 出了问题很难查找问题的原因.
4, 可靠性低
5, 单进程, 单线程, 只支持单核 CPU, 不能充分的利用多核 CPU 服务器. 一旦这个进程崩掉, 那么整个 web 服务就崩掉了.
以下是一些 Node.JS 的优点:
1, 异步和事件驱动
Node.JS 库的所有 API 都是异步的, 即非阻塞的. 它实质上意味着基于 Node.JS 的服务器永远不会等待 API 返回数据. 服务器在调用它之后移动到下一个 API, 并且 Node.JS 事件的通知机制帮助服务器从先前的 API 调用获得响应.
2, 单线程但高度可扩展
Node.JS 使用带有事件循环的单线程模型. 事件机制有助于服务器以非阻塞方式响应, 并使服务器具有高度可伸缩性, 而传统服务器则创建有限的线程来处理请求. Node.JS 使用单线程程序, 同一程序可以为比 Apache HTTP Server 等传统服务器提供更多请求的服务.
3, 非常快
基于谷歌 Chrome 的 V8 JavaScript 引擎, Node.JS 库的代码执行速度非常快.
4, 无缓冲
Node.JS 应用程序从不缓冲任何数据. 这些应用程序只是以块的形式输出数据.
来源: http://www.css88.com/qa/node-js/10810.html