小试 Node.js 应用伸缩

Posted Node地下铁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小试 Node.js 应用伸缩相关的知识,希望对你有一定的参考价值。

Node.js 关键词是 Node,这也暗示 Node.js 应用应该由能够相互沟通的多个小 节点(Node)来组成。

因为 Node.js 的单线程设计,我们会用多种办法来提高它的稳定性和负载能力。比如,在单机上启动多个实例,或者使用集群来聚合多个节点等。我们在做框架设计时,也会考虑这方面的能力,比如企业级 Node.js 框架 Egg/Midway,使用了 Master-Agent-Worker 的模式来丰富能力及提高稳定性。

但其实,Node.js 对这种问题也是有考虑的,在其内核中也集成了 cluster 模块,一个开箱即用的工具,充分利用单机的 CPU 能力,能够提高应用稳定性,甚至做到应用的零停机重启。

本文介绍了应用伸缩的三种策略:克隆(Cloning)、解耦(Decomposing)、分离(Splitting)。作者也根据这三种策略,一步步由浅入深,使用 cluster 模块来实现简单的应用的伸缩。

除了使用原生模块来实现伸缩功能,也可以通过一些现成的工具,比如 PM2 在对代码无侵入的情况下来实现这些,文中也有所提到。另外,在本周六即将举办的 Node 地下铁北京站中,来自淘宝的张挺会为我们带来神秘的“潘多拉魔盒”,感兴趣的欢迎直接来现场交流。

Node 地下铁 #5 北京站

时间:2017.10.28 13:30

地点:北京·望京东园四区 9 号楼绿地中心 C 座 5F-14 岳麓书院


点击「阅读原文」来了解更多内容吧。

以上是关于小试 Node.js 应用伸缩的主要内容,如果未能解决你的问题,请参考以下文章

Node.js 是什么

Node.js 的可伸缩性是不是会因为高负载下的垃圾收集而受到影响?

谈一谈最近学了一段时间的node.js

Node.js JavaScript 片段中的跳过代码

nestjs为啥不火

什么是Node.js?[概念总结]