【学习笔记】node.js基础介绍

Node.js的基本概念

Node.js是编写高性能网络服务器的Javascript工具包(用JS开发服务端程序)。

特点:单线程、异步、事件驱动;

举个Apache服务器运行方式的例子,比如线程池里面有150个线程,当有大量的并发产生的时候(有大量的访问者涌入去访问服务器),会去线程池里面去取线程,其中线程操作有可能是读库或者写入等,线程执行完毕返回给客户端结果之后,线程会继续放回线程池,此时,线程又可以提供给其他人使用。

那么Node.js是单线程的,怎么提供服务呢?这个时候就引入了其另外一个特点“异步”,比如这个用户的操作是读库,那么单独开辟一块内存区域给他,另一个用户是写入,再开辟一块单独的内存区域给他,这个操作相当于医院里面的“分诊”概念。

这种方式非常快速,但同时内存耗用多,网上有一个百万级的并发测试,未优化的情况下1M的连接消耗了16G的内存。

Node.js 相较于 PHP

优点

缺点

性能高 (机制问题)

使用者少

开发效率高(优化方面)

中间件少

应用范围更广(可以开发桌面系统,Electron框架)

IDE不太完善

 

Node.js 目前的劣势及解决方案:

  1. 默认不支持多核,但可以用Cluster解决;
  2. 默认不支持服务器集群,但可以用Node-Http-Proxy解决;
  3. 使用Nginx做负载均衡,静态的由Nginx处理,动态的由Node.js处理;
  4. 可以用Forever或者Node-cluster实现灾难恢复;

 

常用的框架选择:

Express、koa、Hapi、Express基础之上的sails。

  1. Express:用的最多,完善,稳定,文档全,社区大;
  2. Koa:比较超前,稳定性差;
  3. Hapi:比较复杂,不适合初学者,适合大型复杂的项目;

 

Node.js的安装测试

下载地址:http://nodejs.cn/

这里我们测试下载Windows安装包(.msi)的64位版本。

一直下一步直至完成即可。

接着我们测试一下是否安装成功,打开CMD,键入“npm”。

可以发现当前安装的NPM版本是“6.14.8”,NODE版本是“14.9.0”。

测试输出“Hello,World”。

 

按住“Shift”键,鼠标右击,选择“在此处打开命令窗口”。

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/zhongguomao/article/details/108350278
今日推荐