初步认识Node (一)

  很多人即便是在使用了Node之后也不知道它到底是什么,阅读完本文你应该会有一个初步的、具体的概念了。

Node的目标

  提供一种简单的构建可伸缩网络程序的方法。注意,可伸缩网络程序的方法,即Node是一种解决问题的方法,那么,下面我们来看看当前存在的问题。

Node的作用

  1、当前的问题

  当前的服务器程序,每个连接都会生成一个新线程,每个新线程可能需要2MB的配套内存。当用户数量上升到一定程度之后,服务器成本、流量成本和人工成本都会相应的增加。此外,用户的每个请求可能可能会使用到不同的服务器,因此,任何共享资源都必须在所有的服务器之间共享。那么,当前Web应用程序架构(包括流量、处理器和内存速度)瓶颈——服务器能够处理的冰法连接的最大数量。

  2、解决方法

  Node 的解决方法就是更改连接到服务器的方式。每个连接发射一个在Node引擎的进程中运行的事件,而不是为每个连接生成一个新的OS线程(并为其分配一些配套内存)。Node不允许使用锁也不会阻塞I/O调用,因此就没有了死锁这一说法了。

Node的工作方式

  Node本身运行V8 JavaScript,所以谈其工作方式,嗯,就说说这个V8 JavaScript吧。

  V8 JavaScript引擎是Google用于其Chrome浏览器的底层JavaScript引擎,该引擎有一个巨大的特点便是:您可以下载该引擎并将其嵌入任何 应用程序,它并不仅限于在一个浏览器中运行。V8在运行之前将JavaScript编译成了机器码,而非字节码或是解释执行它,以此提升性能。更进一步,使用了如内联缓存(inline caching)等方法来提高性能。有了这些功能,JavaScript程序与V8引擎的速度媲美二进制编译。因此,这么好的引擎,Node便将其重建为能在服务器上使用就行啦~真是方便完美

  Node作为一个极火的开源项目,每天都会有大量优秀的模块产生,而这些模块大大的丰富了Node这个产品,并会成为其关键的一部分的。这么重要的模块,安装它仅需要一个简单的命令——NPM,NPM 视为一种允许轻松扩展 Node 功能的方法,不必担心这会破坏您的 Node 安装。

小结

 到此,您应该对Node有了一个较为清楚的认识了,当然,我的认识是在做了一个小项目过后再来回顾这些内容,脑袋里有了这么一个认知。他使javascript这样一个前台语言,通过使用V8非常棒的就过度到了后台,并且实现它的可伸缩网络程序的目标。当然,作为一个开源的项目,在管理上也会有很多的风波,在2014这一年里,node所经历的也不在少数,详情各大node论坛都应有所涉及,不过,最令人高兴的应该是,Node.JS超越jQuery成为Github上第二受欢迎的开源项目。

ps:本文内容若是有误或者迷糊,还请指正或指出。

时间: 2024-08-04 09:04:52

初步认识Node (一)的相关文章

初步使用Node连接Mysql数据库

1. 安装mysql 下载MySQL :MySQL Downloads,并进行安装.安装完,会引导你对数据库进行配置,设置root密码以及创建普通用户以及密码. 2. 安装Node-mysql 通过npm安装mysql的软件包,通过它方便快速调用函数连接mysql数据库.进入项目文件夹,执行npm install mysql --save就行了. 安装完,在项目文件夹的node_modules目录下会生成mysql的目录. 3. 查看readme文档 进入mysql目录中,查看README文档,

初步了解Node.js,学做简单的留言本案例

在还没有正式的学Node.js的时候, 你们认为Node.js 对于前端来说是什么呢? 会认为Node.js 是框架? 认为这是类似Jquery的一个快速.简洁的JavaScript框架? 反正我自己起初是这么认为的,因为它后面有个 .js. 那么在正式开始接触Node.js的时候,才发现自己是有多么愚蠢.在进入了Node.js的官网后,看完对Node的介绍一后才发现 Node 和 Js 都好猛啊. 官方对Node.js就简单的一句话:(Node.js® is a JavaScript runt

js学习总结----初步了解node

JS是一门"运行在客户端(运行在浏览器)"的"轻量级"的脚本编程语言 JS目前不仅仅只能在浏览器中运行,还可以在NODE中运行 node的优点:基于谷歌V8引擎的,具有强大的io操作,基于事件驱动的异步 编程. 1.什么是node node是一个环境,供JS代码执行的环境,我们可以把他等价于浏览器,只不过我们一般都会把node这个环境安装到服务器端,这样的话我们就可以在服务器端使用JS编写程序了,也就是JS不仅仅是客户端的语言,也是服务器端的语言... 2.node

初步认识Node 之Express

通过本文,你会对Express有一个较为具体的了解. 起源 2009年6月26日,TJ Holowaychuk提交了Express的第一次commit,接下来在2010年1月2日,有660次commits的Express 0.0.1版本正式发布.TJ和Ciaron Jessup是当时最主要的两个代码贡献者.截止到目前为止,Express拥有了5016次commit,版本号为4.11.1,由strongloop维护. 定义 Express是一个简洁而灵活的node.js web 应用框架,它提供一

初步认识Node(二)

上一篇我们认识了Node是什么之后,这一篇我们主要了解的就是它的框架了.而它的框架又分为两大类,Web框架和全栈框架,接下来我们一个一个的来了解. Web框架 Web框架可以细分为Web应用程序框架和API框架,前者能够开发出RESTful(一种软件架构风格)的API,后者在此基础上还包括渲染.模板等为前段准备的功能. 一.Web应用框架 根据风格来分又可以分为Rails和Sinatra两种. 1.Rails 风格:不重复自己和约定优于配置,以及严格遵循MVC结构开发. 知名框架有:(0)Sai

初步掌握node的路由控制

1.1.2:node.js的路由控制 1.运行原理 在1.1.1节中,提到过app.js中app.get("/",routes.index)可以用以下代码取代: app.get("/",function(req,res){ res.render("index",{title:"Express"}); }) 这段代码可以这样理解:当访问主页时,调用ejs模板引擎来渲染index.ejs模板文件(即将所有的tittle变量替换成字

node.js初步

Node.js介绍 Node.js 诞生于2009年,Node.js采用C++语言编写而成,是 一个Javascript的运行环境.Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境 ,让JavaScript的运行脱离浏览器端,可以使用JavaScript语言 书写服务器端代码. 安装Node.js ? Node.js官网下载稳定版本,node偶数版本为稳定版本,奇数版本为非稳定版本. mac 直接安装 或者 brew来安装 安装完Node.js会自动安装NP

Node.js 没有Web容器

Node.js 特点 1.单线程 在Java.PHP或者.net等服务器端语言中,会为每一个客户端连接创建一个新的线程.而每个线程需要耗费大约2MB内存.也就是说,理论上,一个8GB内存的服务器可以同时连接的最大用户数为4000个左右.要让Web应用程序支持更多的用户,就需要增加服务器的数量,而Web应用程序的硬件成本当然就上升了. Node.js不为每个客户连接创建一个新的线程,而仅仅使用一个线程.当有用户连接了,就触发一个内部事件,通过非阻塞I/O.事件驱动机制,让Node.js程序宏观上也

Node.js 特点

  1.单线程 在Java.PHP或者.net等服务器端语言中,会为每一个客户端连接创建一个新的线程.而每个线程需要耗费大约2MB内存.也就是说,理论上,一个8GB内存的服务器可以同时连接的最大用户数为4000个左右.要让Web应用程序支持更多的用户,就需要增加服务器的数量,而Web应用程序的硬件成本当然就上升了. Node.js不为每个客户连接创建一个新的线程,而仅仅使用一个线程.当有用户连接了,就触发一个内部事件,通过非阻塞I/O.事件驱动机制,让Node.js程序宏观上也是并行的.使用No