2012-10-19 38 views
1

會Heroku的支持,如果我的應用程序有三個Web服務從他們的其中兩個是Java和第三個是Node.js的?的Heroku可以支持一種以上的語言更

我們可以在Heroku應用程序中部署多個WAR嗎?

請讓我知道在heroku上部署它的細節。

+1

有關Heroku哲學的更多信息,請參閱[十二因子應用程序](http://www.12factor.net/)。 – willglynn

回答

2

這有點違背Heroku的設計理念,它傾向於將dynos之間的服務分開。使用兩個或三個Heroku應用程序爲您的應用程序提供服務是理想的,並且可以通過語言或Web服務進行分隔。

從技術的角度來看,你不能使用默認的Heroku web dyno環境,因爲根據應用程序是Java還是node.js,將不同的軟件加載到dyno上。檢測爲java的應用程序將不具有node.js的必需二進制文件和庫,反之亦然。

但是,從技術上講,沒有任何東西可以阻止您制定自己的Heroku buildpack,其中包含同時運行Java和Node.js的所有必需軟件。你可以看看Heroku的github上的帳戶,看看他們是如何做他們的Java和他們的node.js buildpacks並以某種方式合併軟件。這是個大工程,因爲你將不得不使用通過火神Heroku的buildpack構建環境並剖析兩者buildpacks構建和應用檢測腳本合併它們。但是,沒有實際的規則反對它,沒有技術上的原因,你最終無法實現它。

+0

您不需要幾個Heroku帳戶,但是使用多個Heroku應用程序將是適當的。您可以通過配置變量將它們指向相同的服務,以便它們一起運行,但每個組件都應該是單獨的Heroku應用程序中的獨立存儲庫。 – willglynn

+0

是的,我錯過了。您可以根據需要將盡可能多的Heroku應用程序放入帳戶中。我會編輯以反映這一點。 –

+0

感謝@AndrewGorcester和willglynn,它的Heroku理念的理解基礎知識幫助了迴應。如果我有3個Java服務在我的應用程序和wordpress博客中運行,那麼heroku會成爲我的最佳選擇嗎?或應我看着其他polygat PAAS像cloudfoundry –