nodejs的优势
nodejs的优点以下文字资料由边肖为大家收集出版。让我们快速看看他们!
节点的优势:
现在很多服务器端语言有什么问题?当用户访问服务器时,为每个用户的链接创建一个线程,但是每个线程消耗大约2M的内存。如果一台8G内存的服务器可以链接4000个左右的用户,那么如果用户的链接数量很大,那么服务器的数量就必须增加。现在用户链接的方式很多,涉及到服务器共享的问题。那么服务器呢
NodeJS修改了客户端到服务器的链接方式来解决这个问题。NodeJS不是为每个客户端创建一个新的线程,而是为每个客户端链接设置一个事件在内部处理,因此NodeJs能够同时处理多达数万个用户的客户端链接。
NodeJS适合开发应用:
当应用程序需要处理大量并发输入/输出,并且在向客户端发送响应之前不需要处理应用程序内部非常复杂的处理时,我们应该考虑使用NodeJs来开发应用程序,例如:
1.聊天服务器:如果聊天的人多,用户和服务器之间有很多并发链接,但是服务器端的数据处理并不复杂;
2.综合服务网站和电子商务网站的服务器:在此类网站的服务器端,通常可能每秒存储数千条数据,需要将这些数据写入数据库。NodeJs可以通过其队列机制将这些数据快速写入缓存,然后从缓存中取出这些数据,通过每个单独的处理将它们写入数据库。如果是其他服务器,由于这些服务器使用阻塞I/O机制,每一条数据都要等一段时间才能写入数据库,而NodeJs使用的是非阻塞I/O机制,所以可以实现将这些数据写入数据库,而不需要每一条数据都要等一段时间才能写入。
总结:
一个规模稍大一点的系统,不是一种开发语言可以解决的,往往会混合几种,比如服务器端开发的C和c++,业务逻辑的java,前端显示的php,消息中间件。
Nodejs可以在服务器端快速原型化,代码量相对较小;还有一点就是它的语法优势,js闭包等等。
但是不适合cpu密集型处理,只能绕弯解决。据说QCon会有人分享这方面的研究成果,大家可以关注一下。
每种语言都有自己适合的领域,不需要强求一种语言就能解决一切,它具有其他语言的特点。只有不断的权衡才能使系统成为目标。
这些都是系列里总结出来的,还是希望指正
文章评论