为什么要用node.js
2014-10-17 09:23
176 查看
node.js的定义是建构在google V8 engine以及Linux上的一个非阻塞事件驱动IO框架。
特征来讲
1,服务器端js进程
2,用了V8引擎
3,没有阻塞
4,事件驱动
5,采用了通用的js语法
其中3和4是关键。没有阻塞,就是说异步处理,一个http请求过去,不会开辟一个新的线程,而是由主线程接受,然后调用了一个方法,让那个方法去处理该请求,主线程去接受另外的请求,那个方法处理好之后就把结果放入队列中,返回给请求方。这样的话,服务器端就可以无阻塞的处理很多请求,而不用开辟新线程的方式耗费大量服务器端的资源。
其实这个思想并不陌生,在客户端也是经历了由同步刷新到异步刷新的过程,现在随着客户端ajax的普及,终于服务器端也开始了异步处理的革命。
处理流程:
1,你用浏览器访问nodejs服务器上的"/about.html"
2,nodejs服务器接收到你的请求,调用一个函数从磁盘上读取这个文件。
3,这段时间,nodejs webserver在服务后续的web请求。
4,当文件读取完毕,有一个回调函数被插入到nodejs的服务队列中。
5,nodejs webserver运行这个函数,实际上就是渲染(render)了about.html页面返回给你的浏览器。
特征来讲
1,服务器端js进程
2,用了V8引擎
3,没有阻塞
4,事件驱动
5,采用了通用的js语法
其中3和4是关键。没有阻塞,就是说异步处理,一个http请求过去,不会开辟一个新的线程,而是由主线程接受,然后调用了一个方法,让那个方法去处理该请求,主线程去接受另外的请求,那个方法处理好之后就把结果放入队列中,返回给请求方。这样的话,服务器端就可以无阻塞的处理很多请求,而不用开辟新线程的方式耗费大量服务器端的资源。
其实这个思想并不陌生,在客户端也是经历了由同步刷新到异步刷新的过程,现在随着客户端ajax的普及,终于服务器端也开始了异步处理的革命。
处理流程:
1,你用浏览器访问nodejs服务器上的"/about.html"
2,nodejs服务器接收到你的请求,调用一个函数从磁盘上读取这个文件。
3,这段时间,nodejs webserver在服务后续的web请求。
4,当文件读取完毕,有一个回调函数被插入到nodejs的服务队列中。
5,nodejs webserver运行这个函数,实际上就是渲染(render)了about.html页面返回给你的浏览器。
相关文章推荐
- 我为什么向后端工程师推荐Node.js
- 我为什么向后端工程师推荐Node.js
- 为什么要使用Node.js?
- <转>学习node.js,为什么选择node.js,为什么NodeJs这么快
- 【转】为什么我要用 Node.js? 案例逐一介绍
- 为什么使用Node.JS
- 为什么io.js要从Node.js中分裂出来?
- PayPal为什么从Java迁移到Node.js
- node.js都应用在什么项目上?这些项目为什么选择node.js
- 为什么Node.js会这么火呢?Node.js流行的原因
- 我为什么向后端工程师推荐Node.js
- 我作为前端工程师为什么会向后端工程师推荐Node.js
- 为什么要有Node.js -- 读《Node.js开发指南》有感
- 为什么我要用 Node.js? 案例逐一介绍
- 为什么我要用Node.js案例逐一介绍
- 我为什么向后端工程师推荐Node.js
- 我为什么关注node.js
- PayPal为什么从Java迁移到Node.js 性能提高一倍 文件代码减少44%
- 为什么 Node.js 的异步 IO 具有非常好的性能
- 为什么需要node.js