美文网首页
NodeJs简介

NodeJs简介

作者: Anne720 | 来源:发表于2018-10-18 17:57 被阅读0次

1、什么是NodeJs?

Node.js是一个让JavaScript运行在服务器的开发平台。

2、 NodeJs出现的背景

为了解决Web服务器的高并发性能问题(缩短发送到请求的时长)

3、 NodeJs的特征

单线程:Node.js在执行的过程中会维护一个事件队列,程序在执行时在进入事件循环等待下一个事件到来。优点是减少了内存的开销,缺点是如果某一个事情,进入了,但是被I/O阻塞了,所以这个线程就阻塞了。

非阻塞I/O:不会傻等I/O语句结束,而会执行后面的语句。

由于Node.js中采用了非阻塞型I/O机制,因此在执行了访问数据库的代码之后,将立即转而执行其后面的代码,把数据库返回结果的处理代码放在回调函数中,从而提高了程序的执行效率。

   当某个I/O执行完毕时,将以事件的形式通知执行I/O操作的线程,线程执行这个事件的回调函数。为了处理异步I/O,线程必须有事件循环,不断的检查有没有未处理的事件,依次予以处理。

 阻塞模式下,一个线程只能处理一项任务,要想提高吞吐量必须通过多线程。而非阻塞模式下,一个线程永远在执行计算操作,这个线程的CPU核心利用率永远是100%。所以,这是一种特别有哲理的解决方案:与其人多,但是好多人闲着;还不如一个人玩命,往死里干活儿。

事件驱动:不管是新用户的请求,还是老用户的I/O完成,都将以事件方式加入事件环,等待调度。

4、为什么用  NodeJs

当前的服务器处理请求的方式有什么问题?

在Tomcat之类web容器中,对于每个连接都需要一个线程,当有新的http请求进来后,web容器便则会从线程池中获得一个线程来处理该请求(每个线程上下文大约占用 2 MB 的内存。在一个拥有 4 GB RAM 的jvm中,理论上最大的并发连接数量是 2,000个用户,当然,Tomcat容器也可以选择NIO方式来提高并发)。

Node对此进行了进一步的优化,对于每个连接,在 Node 引擎的进程中生成一个事件,而非分配一个线程或者采用多路复用。通过这种方式,nodeJs可以极大地降低内存资源的使用,实现其宣称的“能支持数万个并发连接”的目标。

相关文章

  • NodeJS-简介&配置

    NodeJS-简介&配置 NodeJS NodeJS 中文网 NodeJS API 一、客户端的JavaScrip...

  • NodeJS简介

    Nodejs 采用的是事件驱动、非阻塞I/O模型,既轻量又高效,并成为构建运行在分布式设备上的数据密集型实时程序(...

  • NodeJs简介

    1、什么是NodeJs? Node.js是一个让JavaScript运行在服务器的开发平台。 2、NodeJs出现...

  • nodejs简介

    一.定义 JS的服务端运行环境. 二.用途 构建工具webpack的环境依赖 三.特点 单线程,异步编程 四.应用...

  • Nodejs简介

    Nodejs简介 Node.js® is a JavaScript runtime built on Chrome...

  • nodeJS简介

    谨以此篇纪念开始接触 nodeJs 的自己,希望未来乘风破浪、披荆斩棘。Nodejs 框架是基于 V8 的引擎,是...

  • NodeJS简介

    在讲NodeJS之前,我们先来说一下终端、客户端以及服务端的概念 终端 终端也称为终端设备,字面意思也可以理解为结...

  • Nodejs简介

    Node.js is “an asynchronous event driven JavaScript runti...

  • NodeJS 学习资料

    nodejs资源汇总(新手)从零开始nodejs系列文章Nodejs提炼与升华(一) 前言、Nodejs简介Nod...

  • mongoDB

    一、简介 http://www.runoob.com/nodejs/nodejs-mongodb.html 1、M...

网友评论

      本文标题:NodeJs简介

      本文链接:https://www.haomeiwen.com/subject/tmjszftx.html