:传统的阻塞式多线程服务器体系在面对大数据量、长连接、高并发请求时常常遇到性能方面的局限,而新兴的Nodejs 通过将最大连接数量更改到单个系统的流量来解决以上的瓶颈。本文旨在从工作方式和运行性能上探究Nodejs搭建的异步非阻塞服务器与传统的阻塞多线程服务器的区别。进而说明Nodejs在处理大数据量、长连接、高并发请求时的优越性。
Nodejs 是一个Javascript 运行环境,其核心是一个独立的Javascript 虚拟机,这个虚拟机实际上是对谷歌GoogleV8 引擎进行了封装, 谷歌GoogleV8 引擎本身使用了一些最新的编译技术,采用一系列的非阻塞库来支持事件循环的方式,将谷歌GoogleV8 引擎提供的非阻塞I/O 栈与Javascript提供的闭包和匿名函数相结合[1],是编写高吞吐量网络的优秀平台,它可以创建快速、可扩展的网络应用程序。
2. Nodejs 技术综述 在Web 体系中传统技术如Java,C#等技术的最终目的是为生成网页,进而在页面上展示数据,这些高级语言的编译解析需要一定时间,再加上线程之间切换需要高昂的代价。在面对大数据量、长连接、高并发请求时常常遇到性能方面的局限,在解决这些问题时, 通常使用高性能的Web 容器, 高性能的服务器等,这些措施有一定效果但不能完全消除这种瓶颈, Nodejs 从根本上改变了这一现状, 一方面浏览器可以Copyright © 2013 Hanspub 191