程序员

Node的特点与应用场景

2017-09-28  本文已影响34人  俗三疯

Node的特点

异步I/O

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

事件与回调函数

Node将前端浏览器中应用广泛且成熟的事件引入后端,配合异步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的分布式应用

上一篇 下一篇

猜你喜欢

热点阅读