Nodejs的特点以及使用场景总结

本文总结了NodeJS的特点,包括异步事件驱动、非阻塞I/O、高并发等,并探讨了其适合的使用场景,如RESTful API、统一Web应用的UI层、大量Ajax请求的应用以及I/O密集型应用。尽管NodeJS存在CPU密集型应用处理能力有限、单进程单线程等问题,但通过合理利用,仍能在实时数据交互应用中展现出优秀性能。
摘要由CSDN通过智能技术生成

一、NodeJS的优缺点

node的主要特点:

  • 它是一个Javascript运行环境
  • 依赖于Chrome V8引擎进行代码解释
  • 异步事件驱动
  • 非阻塞I/O
  • 轻量、可伸缩,适于实时数据交互应用
  • 单进程,单线程(这里指主线程)
  • 性能出众

优点:

  1. 高并发(最重要的优点)
  2. 适合I/O密集型应用

缺点:

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

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

  3. 可靠性低,一旦代码某个环节崩溃,整个系统都崩溃;
     原因:单进程,单线程;
     解决方案:(1)Nnigx反向代理,负载均衡,开多个进程,绑定多个端口;(2)开多个进程监听同一个端口࿰

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值