
1. Node 的特点
异步 I/O
node 中绝大多数的操作都是异步方式调用.
事件与回调函数
异步编程详解
单线程
单线程弱点:
无法利用多核 CPU; 现在微服务时代, 本身不是问题.
错误会导致整个应用退出; 代码级别增强健壮性, 守护进程.
大量计算占用 CPU 导致无法继续调用异步 I/O; CPU 密集计算方式不适合单线程模型, 需要采用多线程模型(apche,php), Node 也有缓解方案.比如采用 Master-Work(pm2)管理子进程方式, 转换为类多进程模型.
跨平台
Node 基于 libuv 实现跨平台.
2. Node 的应用场景
I/O 密集型
主要得益于 Node 利用事件循环的处理能力
不擅长 CPU 密集型业务
确实不擅长, 但是V8引擎的执行效率已经是比较高的了, 还有其他方式高效的利用CPU;
通过C/C++扩展方式, 弥补V8引擎对应性能差的模块
实现Master-Work进程管理, 充分利用多核CPU
###应用场景
前后端编程语言统一
高性能I/O实时应用: socket.io
并行I/O, 高效利用分布式环境: NodeFox, ql.io
并发I/O, 接口开发
游戏领域, 实时和并发能力: 网易开源pomelo框架
工具应用: 前端/运维/自动化工具
版本控制
| Version | Action | Time |
|---|---|---|
| 1.0 | Init | 2019-08-17 |