您的位置:首页 > Web前端 > Node.js

Node.js 入门

2015-05-30 08:30 405 查看
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性能对比就参考下网上的很多文章啦
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: