Node.js权威指南读书笔记

约定不等于承诺〃 2021-09-29 04:06 480阅读 0赞

1.1 Node.js概述

1.1.1 使用Node.js能够解决什么问题

在Java、PHP或ASP.NET等服务器端语言中,为每一个客户端连接创建一个新的线程,而每个线程需要耗费大约2MB的内存,也就是说,理论上,具有8GB内存的服务器可以同时连接的最大用户数为4000个左右。要让Web应用程序支持更多的用户,就需要增加服务器的数量,而Web应用程序的硬件成本也就随之增加了。不仅如此,在技术层面也会因此产生一些潜在的问题。例如,由于同一个用户的不同客户端请求可能会被不同的服务器处理,因此必须在所有的服务器之间共享所有的资源。由此可见,在一个Web应用程序中,一个主要的瓶颈是服务器所支持的最大同时连接用户量。

Node.js修改了客户端到服务器端的连接方法,解决了这个问题。因为它并不为每个客户端连接创建一个新的线程,而是为每个客户端连接触发一个在Node.js内部进行处理的事件。

1.1.2 实现高性能服务器

严格地说,Node.js是一个用于开发各种Web服务器的开发工具。

V8JavaScript引擎是由Google公司使用C++语言开发的一种高性能JavaScript引擎,该引擎并不局限于在浏览器中运行。

1.1.3 非阻塞型I/O及事件环机制

I/O操作阻塞了代码的执行,极大地降低了程序的执行效率。由于Node.js中采用了非阻塞型I/O机制,因此在执行了访问数据库的代码之后将立即转而执行其后面的代码,把数据库返回结果的处理代码放在回调函数中执行,从而提高了程序的执行效率。

在Node.js中,在一个时刻只能执行一个事件回调函数,但是在执行一个事件回调函数的中途可以转而处理其他事件(包括触发新的事件、声明该事件的回调函数等),然后返回继续执行原事件回调函数,这种处理机制称为事件环机制。

1.1.4 Node.js适合开发的应用程序

当应用程序需要处理大量并发的输入/输出,而在向客户端发出响应之前,应用程序内部并不需要进行非常复杂的处理的时候,我们应该考虑使用Node.js来进行该应用程序的开发。例如:聊天服务器、综合服务类网站或电子商务网站的服务器。

发表评论

表情:
评论列表 (有 0 条评论,480人围观)

还没有评论,来说两句吧...

相关阅读

    相关 css权威指南学习笔记

    本文摘自 《CSS权威指南第三版》,只是对学习过程中自己比较生疏的部分进行了摘记,所以可能不会满足所有人的胃口,有需要的朋友建议还是读读原书,值得一读的好书。 Ch