Node已成为程序猿必知的开发工具,而真正用的人却少而又少,用好的人更少。当水猿和同学们聊起node的时候,他们总会问我一些node的东西,可是并没有使用的打算,毕竟工作重要,我也仅在搭建小程序后台的时候,是完全用node来实现各种功能。下面我们从三个方面也解释一下node为啥是水猿同志的最爱。
一、Nodejs能解决什么问题?在讨论nodejs之前,我们先来看看Java、PHP、ASP.NET等服务器语言存在的问题。在这些服务器语言中,每为客户端建立一个新连接便会消耗约2MB的内存,理论上,一个8G的服务器,网站并发峰值为4000。而node的,通过修改客户端到服务器的连接方法,可以同时处理多达几万个用户的客户端连接。
二、什么是node?严格的说,nodejs是一个用于开发各种web服务器的开发工具。在nodejs中运行的是高性能V8 JavaScript脚本语言,而V8JS的优势在于,其内部使用了一种全新的编译技术,这意味着我们写的高端的JS脚本代码与开发者编写的低端的C语言有着非常相近的执行效率。
三、Node适合开发那些应用程序?
1.聊天服务器:高人气的聊天服务器,node作为首先毫无疑问。
2.综合服务类网站或电子商务网站的服务器:在这类网站的服务器端,往往可能在每秒钟内接受到多达上千条数据并且需要将这些数据写到数据库中,NodeJs就是解决这类问题的关键。NodeJs将通过其队列机制把这些数据写入缓存区中,然后再通过每一个单独的处理从缓存区中取出这些数据写入数据库里。(如果采用其他主流服务器,他们将会受到I/O机制的阻塞,每天数据写入均需等待一段数据,而node可以实现同时写人,无需等待)
效率最好的语言是C语言,可惜相对node来说,耗时耗力。就像我们平常说的一样,C语言好比吃饭,每次吃完饭,不仅需要把餐具带走,还得把餐桌打扫干净。