首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Nodejs集群:有什么缺点吗?

Nodejs集群:有什么缺点吗?
EN

Software Engineering用户
提问于 2018-01-05 00:21:51
回答 1查看 1.3K关注 0票数 7

我读了少量关于nodejs中的集群的文章,在所有情况下,对应用程序进行聚类都是很简单的。事实上,它是如此容易,以至于我开始怀疑:有什么情况我不应该使用集群?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2018-01-05 00:34:34

有几个可能的缺点或问题,您必须为其编写代码:

  1. 登录会话必须存储在所有集群都可以访问的中央数据库(如redis)中,或者必须使连接变得粘稠,这样,给定的客户端每次都会回到同一个集群进程。
  2. 其他服务器端状态要么由每个群集进程单独维护,要么需要移动到所有群集进程都可以访问的单独数据库服务器。
  3. Socket.io连接将无法正常工作,除非从一开始就强制webSocket或使连接粘稠。
  4. 要在集群上运行socket.io,您需要运行集群适配器,该适配器可以在连接到的任何集群实例上适当地找到正确的连接。
  5. 当多个node.js进程都能够访问共享状态时,对单独进程中的共享状态的更新并不能避免竞争条件,因此您必须编写适当的共享状态更新代码,以避免竞争条件。
  6. 使用调试器可能要复杂得多,特别是在试图跟踪几个连续请求中的活动时(因为每个请求可能以不同的进程结束)。

所有这些问题都可以通过管理或通过额外编码或额外模块的安装和配置来解决(代价是额外的复杂性)。

有什么情况我不应该使用集群?

当你不需要的时候。这是个额外的并发症。因此,按照只在需要时使代码变得复杂的一般指导方针,如果您并不真正需要额外的规模,就不应该使用集群。

如果CPU中没有多个核,通常也不会使用群集。

票数 7
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/363480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档