美文网首页程序员
Node的特点与应用场景

Node的特点与应用场景

作者: 俗三疯 | 来源:发表于2017-09-28 21:41 被阅读34次

Node的特点

异步I/O

在Node中,绝大多数的操作都是以异步的方式进行调用,我们可以从语言层面很自然的进行并行I/O操作,每个调用之间无须等待之前的I/O调用结束

事件与回调函数

Node将前端浏览器中应用广泛且成熟的事件引入后端,配合异步I/O,将事件点暴露给业务逻辑

事件的编程方式具有轻量级、松耦合、只关注事务点等优势

单线程

  • 不用像多线程编程那样处处在意状态的同步问题
  • 没有死锁的存在
  • 没有线程上下文交换所带来的性能上的开销

同时存在一些缺点

  • 无法利用多核CPU(子进程可以应对这个问题)
  • 错误会引起整个应用退出,应用的健壮性值得考验
  • 大量计算占用CPU导致无法继续调用异步I/O

跨平台

Node基于libuv实现平台

Node的应用场景

I/O密集型

Node面向网络且擅长并行I/O,能够有效地组织起更多的硬件资源,从而提供更好的服务
I/O密集的优势主要在于Node利用事件循环的处理能力

CPU密集型

关于CPU密集型应用,Node的异步I/O已经解决了在单线程上CPU与I/O之间阻塞无法重叠利用的问题,I/O阻塞造成的性能浪费远比CPU的影响少。
Node可以通过编写C/C++扩展的方式更高效地利用CPU
Node还可以将一部分Node进程当作常驻服务进程用于计算,然后利用进程间的消息来传递结果,将计算与I/O分离,充分利用多CPU
CPU密集不可怕,如何合理调度是技巧。

分布式应用

详情连接阿里巴巴的数据平台对Node的分布式应用

相关文章

  • Node的特点与应用场景

    Node的特点 异步I/O 在Node中,绝大多数的操作都是以异步的方式进行调用,我们可以从语言层面很自然的进行并...

  • node.js 核心

    1.简述 node.js 的特点以及使用的场景 node.js 的特点: 它是一个 JavaScript 运行环境...

  • node应用场景

    学习node: https://www.jianshu.com/writer#/notebooks/4092868...

  • 区块链技术从特点到应用

    要聊区块链的应用场景,必须要从他的特点和特性讲起。因为区块链所有的应用场景都是由他的特点拓展而来的,应用的局限性也...

  • Node 简介

    Node的特点 Node的特点有:异步I/O、事件与回调函数、单线程、跨平台 异步I/O 在Node中,异步I/O...

  • iOS OC/Swift 知识点杂烩(一)

    分类(category)、类的扩展(extension)、协议(protocol)特点及应用场景 分类特点 分类是...

  • Node.js入门及安装

    一、nodejs简介及应用场景 简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js...

  • Node子进程进阶

    最近在做12306爬虫,刚好遇到了Node子进程的应用场景,不总结不快: Node的child_process模块...

  • 理解 Node.js 的 GC 机制

    《深入浅出Node.js》第五章《内存控制》阅读笔记 随着 Node 的发展,JavaScript 的应用场景早已...

  • websocket和轮询的整理

    1.WebSocket的应用场景和特点: 1. 应用场景: WebSocket是一种在单个TCP连接上进行全双工通...

网友评论

    本文标题:Node的特点与应用场景

    本文链接:https://www.haomeiwen.com/subject/pmovextx.html