什么是Node.js?
Node.js是一套用来编写高性能网络服务器的JavaScript工具包。Node.js是一个可以快速构建网络服务及应用的平台,
该平台的构建是基于Chrome's JavaScript runtime。
Node.js如何工作?
目前该JavaScript引擎已用于其它项目的开发。第一个版本随着第一个版本的Chrome于2008年9月2日发布。
V8使用C++开发,并在谷歌浏览器中使用。在运行JavaScript之前,相比其它的JavaScript的引擎转换成字节码或解释执行,
V8将其编译成原生机器码(IA-32, x86-64, ARM, or MIPS CPUs),并且使用了如内联缓存(inline caching)等方法来提高性能。有了这些功能,
JavaScript程序在V8引擎下的运行速度媲美二进制程序。
Node.js能解决什么问题?
- 实现前后端分离。
- 对服务进行抗压、节流等。
- 脱离后端,单独进行开发。
- 进行前端整体api监控,事件监控。
- 不适合,cpu使用率较重、IO使用率较轻的应用。(人工智能)
Node.js好处 | 坏处?
- 搭建开发环境很快。
- javascript语言的代码,各种技术讨论、文档比较丰富,本身学起来比较容易。
- 前后端代码共享(各种第三方库)。
- 基于事件驱动、异步编程、单线程、非阻塞IO。
- 可利用Javascript进行后台开发。
- 社区非常活跃。
- 缺点:不适合做复杂的计算,单进程,只支持单核cpu,一旦进程崩掉,整个服务就挂掉。