Heroku中的过程类型和Dynos之间有什么区别



我在Heroku订阅了一个爱好计划。

该计划的详细信息指定了最多允许10种过程类型。

所以我开发了一个带有以下procfile的应用程序:

backend-dev: node ./backend-dev/backend.js
backend-prod: node ./backend-prod/backend.js

代表2种过程类型的哪种?

但是当我运行它时:

heroku ps:scale backend-dev=1
heroku ps:scale backend-prod=1

我最终得到了两个爱好dynos ...由于该计划还指定了7欧元/月/dyno,我的收费为14欧元。

所以我的问题是:

  1. 过程类型与dynos有什么区别?
  2. 我可以在单个dyno中运行2种过程类型吗?
  3. 我可以按照1个免费的dyno(用于后端 - dev)和1个爱好dyno(用于后端抛物)?
  1. 考虑使用背景工人的Web应用程序的这个简单示例,因此它具有web流程和worker进程。当这样的应用程序收到大量的网络流量,但是处理很少的背景作业时,您可以增加web流程的DYNOS数量,但对于worker流程只有一个DYNO。每个过程也可能具有不同的Dyno大小。您可以将web进程的Performance-L Dyno和标准1X用于worker进程,而不是使用更多DYNOS。换句话说,过程类型描述了在一个应用程序中共同工作的不同过程。它们不应该像您的情况一样是不同的应用程序。

  2. 否。您可以在多个dynos上运行一种过程类型。

  3. 从技术上讲,您可以在免费的Dyno上运行一个进程,而在Hobby上可以运行另一个过程,但在您的情况下它不起作用。当您升级到专业的Dynos时,所有过程都必须在专业的Dynos上运行。

您的Procfile都是错误的。您必须具有流程类型名称web才能接收Web流量。如果您启动当前设置,则将运行两个进程,但是它们将永远不会收到任何Web请求。它在Heroku文档中进行了描述,只有web流程可以接收Web流量,您只能拥有一个这样的过程。因此,要运行两个版本的应用程序,您需要创建两个不同的Heroku应用程序。理想情况下,您应该允许通过环境变量配置应用程序,以便您可以将相同的代码部署到两个应用程序中。

相关内容

  • 没有找到相关文章

最新更新