2015-05-19 86 views
6

我正在寻找一个简单的解释,当我输入时发生了什么:有人可以解释“heroku ps:scale web = 1”

“heroku ps:scale web = 1”。

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

回答

12

该命令不部署应用程序。它在部署后启动它。

当您部署应用程序时,heroku会创建一个“slug”。一个可运行的压缩版本的应用程序,然后存储。 然后,您可以启动“dynos”,它将您当前的slu and声放入其中一个heroku的服务器中。

运行heroku ps:scale web=1会将您的应用程序扩展到运行dyno的应用程序,基本上意味着您有一台服务器正在运行您的应用程序。

如果您再次部署您的应用程序,将会生成并保存一个新的slug,并且您当前运行的dynos将被销毁,并由您的代码的新版本替换为新的。

0

只要你在heroku上新鲜的部署你的应用程序,它会启动一个dyno应用程序运行的地方。只要将其视为服务器即可。这台服务器不能一次处理大量的请求。

因此,为了处理所有这些批量请求,您可能需要运行应用程序的多个实例,即使用heroku中可用的备用资源,就像在tomcat中为使用该命令的相同应用程序运行多个实例一样使用多个dyno ofcourse):

heroku ps:scale web=<number_dynos_u_want>

的Heroku做负载均衡为您服务。因此,您可以横向扩展您的应用程序以处理更多负载。希望能够清楚这个概念!