小试 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 应用伸缩的主要内容,如果未能解决你的问题,请参考以下文章