node 简介

Posted 鱼大饼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node 简介相关的知识,希望对你有一定的参考价值。

Nodejs有几个特性:异步IO,事件驱动,单线程,跨平台

  异步IO可以保证在CPU计算的同时,异步的加载IO,加快了应用的访问。不像传统的服务器是使用什么阻塞IO啊、轮训IO等等,它相当于在发送处理请求时,直接传一个回调函数,当异步的IO结束后,会自动的执行回调。

  事件驱动,则是把粒度降低到事件级别。传统的服务器是一个请求分配一个线程进行处理,这样就会增加多线程通信的复杂性。而事件驱动,则简化了事件模型。

  单线程其实主要是因为Nodejs是基于V8浏览器引擎,因此具有单线程的特点,而且内存很小。这样就引出了Node的劣势——无法利用多核CPU、如果应用出现问题整个系统也会崩溃、CPU繁忙将会影响IO。(因此Node中也提供了child_process模块创建子进程,以此来利用多核;引入了一些集群特性,增加健壮性)。

  最后就是跨平台,Nodejs其实并非全部用javascript编写,只是表面的业务语言以及开放的模块才使用js。底层的大部分的模块还是使用C++构建,因此通过切换系统级别的组件,可以直接切换平台。

单线程的弱点

   1、无法利用多核cpu

   2、错误会引起整个应用的退出,应用的健壮性值得考验

   3、大量计算占用cup导致无法继续调用异步的I/O;

 

node的擅长 I/O密集型的业务(绝大多数时间在计算上)

(cpu密集型业务指 等待I/O上花费了大多是时间 )

 

以上是关于node 简介的主要内容,如果未能解决你的问题,请参考以下文章

Nodejs学习笔记--- 简介及安装Node.js开发环境

Nodejs学习笔记--- 简介及安装Node.js开发环境

node.js简介

node 简介 起源

Node.js 入门简介

Node.js 简介