码迷,mamicode.com
首页 > Web开发 > 详细

Node.js 入门

时间:2015-05-30 09:16:45      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

nodejs可以用来做什么

? 具有复杂逻辑的网站;
? 基于社交网络的大规模 Web 应用;
? Web Socket 服务器;
? TCP/UDP 套接字应用程序; 8 ? 命令行工具;
? 交互式终端程序;
? 带有图形用户界面的本地应用程序;
? 单元测试工具;
? 客户端 JavaScript 编译器

异步式 I/O 与事件驱动 

Node.js 最大的特点就是采用异步式 I/O 与事件驱动的架构设计。对于高并发的解决方 案,传统的架构是多线程模型,也就是为每个业务逻辑提供一个系统线程,通过系统线程切 换来弥补同步式 I/O 调用时的时间开销。Node.js 使用的是单线程模型,对于所有 I/O 都采用 异步式的请求方式,避免了频繁的上下文切换。Node.js 在执行的过程中会维护一个事件队 列,程序在执行时进入事件循环等待下一个事件到来,每个异步式 I/O 请求完成后会被推送 到事件队列,等待程序进程进行处理 看下图:

技术分享

缺点:

因为它不符合开发者的常规线性思路,往往 需要把一个完整的逻辑拆分为一个个事件,增加了开发和调试难度 

 

Nodejs的性能

Node.js 用异步式 I/O 和事件驱动代替多线程,带来了可观的性能提升。Node.js 除了使 用 V8 作为JavaScript引擎以外,还使用了高效的 libev 和 libeio 库支持事件驱动和异步式 I/O 

nodejs的架构图:技术分享

 

nodejs性能对比就参考下网上的很多文章啦

 

Node.js 入门

标签:

原文地址:http://www.cnblogs.com/greenboy/p/4539793.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!