如何理解和认识node

如何理解和认识node

ID:11395591

大小:37.00 KB

页数:4页

时间:2018-07-11

如何理解和认识node_第1页
如何理解和认识node_第2页
如何理解和认识node_第3页
如何理解和认识node_第4页
资源描述:

《如何理解和认识node》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、如何理解和认识Node.js摘要:Node是一个服务器端JavaScript解释器,它将改变服务器应该如何工作的概念。它的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处理数万条同时连接到一个(只有一个)物理机的连接代码。简介如果您听说过Node,或者阅读过一些文章,宣称Node是多么多么的棒,那么您可能会想:“Node究竟是什么东西?”即便是在参阅Node的主页之后,您甚至可能还是 不明白Node为何物?Node肯定不适合每个程序员,但它可能是某些程序员一直苦苦追寻的东西。为试图解释什么是Node.js,本文将简要介绍一些背景信息:它要解决的问题,它如何工作,如何运行一个简单应用程序

2、,最后,Node在什么情况下是一个好的解决方案。本文不涉及如何编写一个复杂的Node应用程序,也不是一份全面的Node教程。阅读本文应该有助于您决定是否应该继续学习Node,以便将其用于您的业务。Node旨在解决什么问题?Node公开宣称的目标是“旨在提供一种简单的构建可伸缩网络程序的方法”。当前的服务器程序有什么问题?我们来做个数学题。在Java™和PHP这类语言中,每个连接都会生成一个新线程,每个新线程可能需要2MB的配套内存。在一个拥有8GBRAM的系统上,理论上最大的并发连接数量是4,000个用户。随着您的客户群的增长,如果希望您的Web应用程序支持更多用户,那么,您必须添加更多服

3、务器。当然,这会增加服务器成本、流量成本和人工成本等成本。除这些成本上升外,还有一个潜在技术问题,即用户可能针对每个请求使用不同的服务器,因此,任何共享资源都必须在所有服务器之间共享。鉴于上述所有原因,整个Web应用程序架构(包括流量、处理器速度和内存速度)中的瓶颈是:服务器能够处理的并发连接的最大数量。Node解决这个问题的方法是:更改连接到服务器的方式。每个连接发射一个在Node引擎的进程中运行的事件,而不是为每个连接生成一个新的OS线程(并为其分配一些配套内存)。Node声称它绝不会死锁,因为它根本不允许使用锁,它不会直接阻塞I/O调用。Node还宣称,运行它的服务器能支持数万个并发

4、连接。现在您有了一个能处理数万个并发连接的程序,那么您能通过Node实际构建什么呢?如果您有一个Web应用程序需要处理这么多连接,那将是一件很“恐怖”的事!那是一种“如果您有这个问题,那么它根本不是问题”的问题。在回答上面的问题之前,我们先看看Node的工作原理以及它的设计运行方式。Node肯定不是什么?没错,Node是一个服务器程序。但是,基础Node产品肯定不 像Apache或Tomcat。本质上,那些服务器“安装就绪型”服务器产品,支持立即部署应用程序。通过这些产品,您可以在一分钟内启动并运行一个服务器。Node肯定不是这种产品。Apache能通过添加一个PHP模块来允许开发人员创建

5、动态Web页,添加一个SSL模块来实现安全连接,与此类似,Node也有模块概念,允许向Node内核添加模块。实际上,可供选择的用于Node的模块有数百个之多,社区在创建、发布和更新模块方面非常活跃,一天甚至可以处理数十个模块。本文后面将讨论Node的整个模块部分。Node如何工作?Node本身运行V8JavaScript。等等,服务器上的JavaScript?没错,您没有看错。对于只在客户机上使用JavaScript的程序员而言,服务器端JavaScript可能是一个新概念,但这个概念本身并非遥不可及,因此为何不能在服务器上使用客户机上使用的编程语言?什么是V8?V8JavaScript引

6、擎是Google用于其Chrome浏览器的底层JavaScript引擎。很少有人考虑JavaScript在客户机上实际做了些什么?实际上,JavaScript引擎负责解释并执行代码。Google使用V8创建了一个用C++编写的超快解释器,该解释器拥有另一个独特特征;您可以下载该引擎并将其嵌入任何 应用程序。V8JavaScript引擎并不仅限于在一个浏览器中运行。因此,Node实际上会使用Google编写的V8JavaScript引擎,并将其重建为可在服务器上使用。太完美了!既然已经有一个不错的解决方案可用,为何还要创建一种新语言呢?事件驱动编程许多程序员接受的教育使他们认为,面向对象编程

7、是完美的编程设计,这使得他们对其他编程方法不屑一顾。Node使用了一个所谓的事件驱动编程模型。清单1.客户端上使用jQuery的事件驱动编程//jQuerycodeontheclient-sideshowinghowEvent-Drivenprogrammingworks//Whenabuttonispressed,anEventoccurs-dealwithit//directlyrighthereinananonym

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。