一 Nodejs架构:Nodejs异步理解

Node.js主要分为四大部分,Node Standard Library,Node Bindings,V8,Libuv。Node.js的结构图如下:

 

node.js数组教程 nodejs 数据结构_Standard

 

可以看出,Node.js的结构大致分为三个层次

  • Node Standard Library是我们每天都在用的标准库,如 Http、Buffer、fs 模块。它们都是由 JavaScript 编写的,可以通过require(..)直接能调用。
  • Node Bindings是沟通 JS 和 C++ 的桥梁,封装 V8 和 Libuv 的细节,向上层提供基础API服务。这一层是支撑 Node.js 运行的关键,由 C/C++ 实现。
  • V8是 Google 开发的 javascript 引擎,为 javascript 提供了在非浏览器端运行的环境,可以说它就是 Node.js 的发动机。它的高效是 Node.js 之所以高效的原因之一。
  • Libuv为Node.js提供了跨平台,线程池,事件池,异步 I/O 等能力,是Node.js如此强大的关键。
  • C-ares提供了异步处理 DNS 相关的能力。
  • http_parser、OpenSSL、zlib等,提供包括 http 解析、SSL、数据压缩等其他的能力。