初识NodeJS
NodeJS是javascript运行环境。实际上它是对GoogleV8引擎进行了封装。由于其拥有异步非阻塞、环境搭建简单、实践应用快等特性,使得在新一代编程开发中更为流行。
由于Node.js基于javascript语法,因此在学习Node.js时也可以了解和学习javascript语法。
NodeJS是一个让Javascript运行在服务器端的开发平台,让Javascript运行在浏览器之外的平台,实现了很多的模块:文件系统,模块,包,操作系统API,网络通信等CoreJavascript中没有或者不完善的功能。
NodeJS优点缺点
优点
- 编写高性能网络服务器的javascript工具(用js开发服务器端程序)
- 单线程、异步、事件驱动
- 特点:快、占内存 百万级并发请求、1M的连接消耗内存16个G
缺点
- 新、人少
- 中间件少
单线程、异步IO
node.js劣势及解决方案
- 默认不支持多核,用cluster可以解决
- 默认不支持服务器集群,node-http-proxy可以解决
- 负载均衡,使用nginx解决 静态的由nginx处理,动态由node.js处理
- forever或node-cluster实现灾难恢复