Nodejs

NodeJS的优缺点

优点:

  1. 高并发(最重要的优点)

  2. 适合I/O密集型应用

缺点:

  1. 不适合CPU密集型应用;CPU密集型应用给Node带来的挑战主要是:由于JavaScript单线程的原因,如果有长时间运行的计算(比如大循环),将会导致CPU时间片不能释放,使得后续I/O无法发起;

解决方案:分解大型运算任务为多个小任务,使得运算能够适时释放,不阻塞I/O调用的发起;

  1. 只支持单核CPU,不能充分利用CPU

  2. 可靠性低,一旦代码某个环节崩溃,整个系统都崩溃

原因:单进程,单线程

解决方案:(1)Nnigx反向代理,负载均衡,开多个进程,绑定多个端口;

(2)开多个进程监听同一个端口,使用cluster模块;

  1. 开源组件库质量参差不齐,更新快,向下不兼容

  2. Debug不方便,错误没有stack trace

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 起源   Ryan Dahl是一名资深的C/C++程序员,在创造出Node之前,他的主要工作都是围绕高性能 Web...
    小小的开发人员阅读 16,781评论 1 8
  • [NodeJS] 优缺点及适用场景讨论 概述: NodeJS宣称其目标是“旨在提供一种简单的构建可伸缩网络程序的方...
    笑极阅读 9,372评论 1 23
  • 什么是NodeJS Node.js采用模块化结构,按照CommonJS规范定义和使用模块。模块与文件是一一对应关系...
    风起云涌Hal阅读 729评论 0 6
  • Nodejs区别于传统应用的特点: 异步事件驱动 非堵塞I/O 单线程(这里指主线程) 性能出众 接下来就对以上4...
    coffee1949阅读 8,876评论 0 0
  • 唐宣宗――李忱(公元810年至公元859年)汉族,别名李怡、琼俊,唐武宗之十三子,初封为光王。年号大中,庙...
    张旭锋阅读 403评论 0 2