1.Node.js适用场景
高并发(双十一电商)、聊天、实时消息推送
2.适用Node.js能够解决什么问题
Node.js的首要目标是提供一种简单的、用于创建高性能服务器及在该服务器中运次那个的各种应用程序的开发工具。在JAVA等服务端语言中,为每一个客户端连接创建一个新的线程。Node.js修改了客户端到服务器端的连接方法,它并不为每个客户端连接创建一个新的线程,而是为每个客户端连接触发一个在Node.js内部进行处理的事件,因此可以同时处理多达几万个用户的客户端连接。
3.非阻塞型I/O及事件环机制
- JavaScript脚本语言是只支持单线程的。但与客户端脚本语言不同的是,Node.js中为V8 JavaScript脚本语言提供了非阻塞型I/O机制。比如在执行了访问数据库的代码之后将立即转而执行其后的代码,把数据库返回结果的处理代码放在回调函数中执行,从而提高了程序的执行效率。
- 在Node.js中,在一个时刻只能执行一个事件回调函数,但是在执行一个事件回调函数的中途可以转而处理其他事件(包括新出发的事件、声明该事件的回调函数),然后返回继续执行原事件回调函数,这种处理机制称为事件环机制。
4.适合开发的应用程序
需要处理大量并发的输入/输出,而在向客户端发出响应之前,应用程序内部并不需要进行非常复杂的处理的时候。
聊天服务器
综合服务类网站或电子商务网站的服务器