【问题标题】:nodejs cluster workers optimizationnodejs集群工作者优化
【发布时间】:2016-10-31 08:48:21
【问题描述】:

假设我有一个 12 核 CPU,我在其上运行 nodejs 应用程序。

该应用程序主要做两件事 -
1. 将上传的视频从一种格式转换为另一种格式(CPU 密集型)
2. 服务于其他数据库密集型 GET/POST 请求

问题:最好创建 2 个服务器 - 一个用于 CPU 工作,另一个用于 DB 工作?如果我使用集群模块,我应该在每台服务器上生成多少个工作人员?

【问题讨论】:

    标签: node.js optimization server node-cluster


    【解决方案1】:

    我不会在与 REST api 服务器相同的服务器上进行转码,而是将其卸载到单独的服务器上。

    有许多服务提供转码功能,例如Amazon Elastic Transcoder 或其他。如果您坚持拥有自己的服务器,那么我会使用 Docker container around FFMPEG 并在像 Elastic Beanstalk 这样的 Docker 自动缩放环境中启动它

    【讨论】:

    • 在与 REST API 服务器在同一台机器上运行的单独服务器上使用 FFMPEG 完成转码是否有问题(我不太倾向于使用 AWS)?
    • 转码使用的不仅仅是 CPU,如果你试图在同一台机器上运行它,它会给你的 rest API 带来很多问题。它还会吞噬 RAM 和其他资源。我真的建议将它完全放在单独的机器上。除了 AWS 之外,还有其他服务提供转码服务。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-21
    • 2018-11-11
    • 1970-01-01
    • 2013-12-21
    相关资源
    最近更新 更多