2015-05-19 41 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做負載均衡爲您服務。因此,您可以橫向擴展您的應用程序以處理更多負載。希望能夠清楚這個概念!