【问题标题】:Node cluster versus Dynos scaling节点集群与 Dynos 扩展
【发布时间】:2017-11-20 10:01:38
【问题描述】:

在阅读了一些关于扩展节点应用程序的文章之后,我还没有决定何时应该使用节点内置集群或只是添加更多的测功机。

让我告诉你,我已经阅读了 StackOverflow 上的以下主题:

How to properly scale nodejs app on heroku using clusters

Running Node.js App with cluster module is meaningless in Heroku?

据我了解,如果我使用节点集群功能,我最终将得到可用总内存除以分叉进程数。

另一方面,如果我再添加一个测功机,我的可用内存就会翻倍。

那么,使用节点集群有什么意义呢?

【问题讨论】:

    标签: node.js heroku scalability


    【解决方案1】:

    这并不是一个非此即彼的情况。您可以在多个测功机上使用多个节点集群实例。但是,内存并不是您真正想要查看的内容,因为那将是共享资源。 CPU / 核心使用率与节点中的集群更相关,因为每个节点进程一次只能使用一个 CPU 核心。

    这实际上也取决于您使用的测功机。

    你在 Heroku 官方文档上看过 these suggestions 了吗?

    【讨论】:

    • 是的,那些疯狂的文档......在 Heroku 的案例中,写得非常好,对于使用他们的东西的人来说是必读的,imo
    • @dvlsg,好吧,正是在阅读了该文档之后,我认为人们不应该关注 CPU,而应该关注测功机持有的 RAM。但是例如,如果我使用的是免费帐户,即具有 512 MB 内存的 dyno,那么使用集群是没有意义的,对吧?
    • 不,在大多数情况下,您仍然希望查看 CPU/内核。但是,如果您使用的是免费的 dynos(或爱好或标准 1x),您的结论仍然是正确的。您只想使用节点应用程序的一个实例,因为只有一个内核可供您使用。 defaults table 和集群工作人员的数量是您要在此处查看的内容。
    • 好吧,我可能会误解它,但根据该表,他们说只有在集群超过 1 个工作人员之后才会损害应用程序。因此,他们建议即使是免费的、爱好的、标准的 1x dynos 也可以进行集群。我说的对吗?
    • 不,我读它的方式(我认为我读得正确)是他们建议 1 名工人免费/爱好/1x dynos,这是更多或- 与只拥有一个进程而无需担心集群的开销不同,因为您知道无论如何您都打算只拥有一个进程。
    猜你喜欢
    • 1970-01-01
    • 2019-07-26
    • 2016-08-14
    • 2018-12-04
    • 2017-07-01
    • 1970-01-01
    • 2012-06-30
    • 2020-04-22
    • 2018-01-17
    相关资源
    最近更新 更多