有人可以解释"heroku ps:scale web = 1"

Ahm*_*que 13 heroku heroku-toolbelt

我正在寻找一个简单的解释,当我输入以下命令时会发生什么:

heroku ps:scale web=1 
Run Code Online (Sandbox Code Playgroud)

什么是Heroku在幕后部署应用程序?我问,因为我刚刚使用Heroku进行部署,并希望更好地了解该过程.谢谢!

Dam*_*IEU 20

此命令不会部署应用程序.它在部署之后启动它.

部署应用程序时,heroku会创建一个"slug".应用程序的可运行压缩版本,然后存储.然后你可以启动"dynos",它会把你当前的slug带到heroku的服务器上.

正在运行heroku ps:scale web=1会将您的应用扩展为一个正在运行的dyno,这意味着您当前有一台服务器在运行您的应用.

如果再次部署应用程序,将生成并存储新的slug,并且将销毁当前运行的dynos,并使用新版本的代码替换为新的dynos.

  • 在第一次部署时,Heroku 会自动将 Web 进程扩展到 1。如果您运行“heroku ps”,您将看到确实有一个 dyno 正在运行。 (2认同)

Ram*_*ran 5

每当您在 heroku 中新部署应用程序时,它都会在应用程序运行的地方启动一个dyno 。只需将其视为服务器即可。该服务器无法同时处理大量请求。

因此,为了处理所有这些批量请求,您可能需要使用 Heroku 中可用的备用资源运行应用程序的多个实例,即多个 dyno,就像使用以下命令在 tomcat 中为同一应用程序运行多个实例一样(当然在限制范围内):

heroku ps:scale web=<number_dynos_u_want>

Heroku 会为您进行负载平衡。因此,您可以水平扩展您的应用程序以处理更多负载。希望这能澄清这个概念!