node实践 0x00

前言

接触node这十多天来,想想因为网站比赛的缘故,开始较为系统的学前后端,从阮一峰老师的博客得知他也在使用node开发,所以更加正好试试node进行开发。

概述

node又称nodejs,它提供了有别于浏览器的js执行环境,通过添加硬盘和网络io库的方式让js支持后端运行,而不必束缚在浏览器里处理UI。
另外Google v8引擎给了node强劲的性能,在《深入浅出Node.js》中,作者给出很多例子,比如计算同样位数的斐波那契数列,node的性能超过java,也曾有公司把网站用node重写,相比ruby,服务器削减了十倍,从中可见一斑。
node的一大特色就是异步io,我们知道,在网络服务中,服务进程大多是io密集型的,如果使用阻塞io库,进程将经常等待io完成,明白点说,在操作系统中,当一个进程被阻塞时,调度器会在就绪队列中选一个占用cpu进行执行,io一般又相当费时,当对于cpu这个计算资源而言,此进程就浪费掉了一部分时间片,从而影响性能,在需要尽量实时的服务上尤为明显。