node.js|node.js知识整理
目录
- 前言
- 一、node
-
- 1. 介绍
- 2. 特点
- 3. 适用业务
- 二、node 的优点、缺点
-
- 1. 优点
- 2. 缺点
- 总结
前言 node.js它既是开发平台, 也是运行环境, 也是个新的语言。它本身是基于 google 的javascript v8 引擎开发的, 因此在编写基于它的代码的时候使用 javascript 语言。
一、node 1. 介绍 node.js它既是开发平台, 也是运行环境, 也是个新的语言。它本身是基于 google 的javascript v8 引擎开发的, 因此在编写基于它的代码的时候使用 javascript 语言, 但是又不同于传统概念的javascript。
它的服务端功能以及部分客户端功能必须在服务端运行, 所以它实际上是一种在服务端的开发+运行的 javascript 语言.,它本身可以作为 HTTP Server, 也可以当作 TCP Server 用。
2. 特点
一个 javascript 运行环境,依赖于 Chrome V8 引擎进行代码解释【node.js|node.js知识整理】特征:单线程、事件驱动、非阻塞 I/O,轻量,可伸缩,适于实时数据交互应用
单进程,单线程 (一个应用程序对应一个进程, 一个进程下面会有多个线程, 每个线程用于处理任务…)
node 无法直接渲染静态页面,提供静态服务
node 没有根目录的概念
node 必须通过路由程序指定文件才能渲染文件
node 比其他服务端性能更好,速度更快
3. 适用业务 nodejs 是单线程,非阻塞 I/O,事件驱动,它的特点决定了它适合做一些大量 I/O 的东西,
比如,聊天室,表单提交等不需要大量计算的功能。做一些微信后端开发,或者做消息系统
等。可以整个项目用,也可以根据它的特点在某个模块使用,比如 socketio,打造一个消息
系统等。
二、node 的优点、缺点 1. 优点
- 高并发(最主要的一个优点)
- 适合 I/O 密集型应用
- 不适合 CPU 密集型应用;CPU 密集型应用给 node 带来的挑战主要是:由于 JavaScript 单
线程的原因,如果有长时间运行的计算(比如大循环),将会导致 CPU 时间片不能释放,使
得后续 I/O 无法发起;
解决方案:分解大型运算任务为多个小任务,使得运算能够适时释放,不阻塞 I/O 调用的发
起; - 只支持单核 CPU,不能充分利用 CPU
- 可靠性低,一旦代码某个环节崩溃,整个系统都崩溃
原因:单进程,单线程
解决方案- Nnigx 反向代理,负载均衡,开多个进程,绑定多个端口
- 开多个进程监听同一个端口,使用 cluster 模块
- 开源组件库质量参差不齐,更新快,向下不兼容
- Debug 不方便,错误没有 stack trace
推荐阅读
- 知识
- 20190302|20190302 复盘翻盘
- 小学英语必考的10个知识点归纳,复习必备!
- Node.js中readline模块实现终端输入
- 【韩语学习】(韩语随堂笔记整理)
- 生发知识,带你深入了解
- 知识付费的怪力乱象
- 三国谋略22(找准你的定位)
- 知识与爱情读后感
- 雅姿雅态知识2【怎么坐?才能坐如芍药|雅姿雅态知识2【怎么坐?才能坐如芍药,尽显女人优雅】