本人最近开始学习nodejs,在前端技术日新月异的今天,为了不让自己被淹没在历史的洪流中。只能抓紧学习一些比较前沿和重要的技术。
2009年8月,IT界制定了commonJS标准,用于标准化服务端JavaScript脚本语言。同年美国人Ryan Dahi推出了Node.js
Node.js的一个重要的特性是通过单线程实现异步处理环境,通过事件环与非阻塞型I/O机制实现服务端的异步处理。
接下来,我将从三方面分析一下,什么是Node.js,为什么要用Node.js,什么情况下使用Node.js。
一、什么是Node.js
Node.js的首要目标是提供一个简单的,用于创建高性能服务器及可在该服务器中运行的各种应用程序的开发工具。
二、为什么要用Node.js
在Java、PHP、Asp.NET等服务器端语言中,为每一个客户端连接创建一个新的线程,每个线程大约需要2MB,一个8GB的服务器可以同时连接的最大用户数为4000个左右。如果要增加用户数只能增加服务器的数量,会增加应用程序的硬件成本。
Node.js解决了“最大同时连接用户量”这个问题,它不是为每一个请求创建一个线程,而是为每个客户端连接触发一个Node.js内部进行处理的事件,所以Node.js可以用户处理多达几万个用户的客户端链接。
三、什么情况下使用Node.js
需要WEB应用程序能够支持大量用户的并发连接的时候,我们应该考虑使用Node.js