一、简介
node.js是一个服务器端的javascript引擎,目标是帮助程序员构建一个高度可伸缩的应用程序,它的目的很简单:快速、异步和非阻塞。
二、它解决什么问题?
目前的服务器程序存在的问题:以PHP为例,每个连接生成一个新线程,每个线程需要2MB内存。那么对一个配备16G内存的服务器而言,它的理论并发连接数是8000个用户。随着用户的增长,必须添加更多服务器,才能支撑访问。这还没把程序的额外共享资源计算在内。 这个问题,也是所有Web程序架构所面临的问题:一个服务器所能处理的并发连接数。
那么Node如何解决这个问题呢?
它更改了连接到服务器的方式,它对每个连接生成一个进程,但该进程不需要分配内存,它不使用锁,也不会阻塞I/O调用。
据称,Node服务器可以支撑数万个并发连接。
三、从哪得到它?
node.js的源码托管在github上,可以很容易的获取到。
四、它能做什么?不能做什么?
提到服务器程序,大多数人的第一反应肯定是Apache、IIS之类的,如果你把Node想象成tomcat之类的web服务器,那么你就大错特错了。
(1) Node适合做什么呢?
如果您的应用有很高流量,而且服务器端的逻辑处理比较简单或者不是巨大的,那么Node.js非常适合您使用。
比如说:Rest架构的API服务;Twitter队列的处理(接收tweets并写入数据库)等等。
(2) Node不适合做什么?
创建动态网页,这些不是Node擅长的,而是Apache等web服务器的职责。
呵呵,啰嗦了这么多,应该基本了解Node.js了!下面我们就从hello world开始,来一步步探索node.js吧!