2014-08-27 62 views
0

我們目前有一個應用程序在一臺專用服務器上運行。我想將它移到OpenShift。它具有:如何最好地部署這個多層應用程序?

  1. 上Wildfly運行PHP編寫的
  2. Java應用程序管理員的面向公衆的Web應用程序
  3. MySQL數據庫
  4. 含有大量的圖片和文件必須是可訪問的文件系統到Java和PhP應用程序。第三方ftp每天都會向服務器發送一個數據文件,並且一個perl腳本將其加載到數據庫和文件系統中。
  5. perl腳本偶爾會運行ffmpeg來生成視頻,從視頻中讀取圖像並將視頻寫入文件系統。

是Openshift的一個很好的解決方案,或者這將是更好地使用AWS,而不是直接(比如,因爲他們有專門的文件系統組件?)

感謝 邁克爾·戴維斯 渥太華

回答

1

共享文件系統肯定會成爲這裏最大的問題。您可以通過設置應用程序來輕鬆地使用Amazon S3或其他共享雲文件系統來解決這個問題。

至於其他應用程序,如果我設置了這個,我會: 設置縮放的PHP應用程序,即使您將縮放設置爲只使用1個齒輪,這將允許您將MySQL數據庫放在它上面自己的裝備,甚至爲它選擇不同的尺寸,比如擁有中型網絡齒輪(運行php)和運行MySQL數據庫的大型齒輪。這也將允許您的wild gear設備訪問數據庫,因爲它將具有您的帳戶中您的任何應用程序都可以訪問的FQDN(完全限定的域名)。但是,請記住,它將使用非標準端口而不是3306.

然後,您可以將您的WildFly服務器設置爲任意大小,但請記住,MySQL連接變量不會存在,您將不得不手動將它們放入Java應用程序中。

至於perl腳本,取決於它的密集程度,你可以運行它自己的任何大小的齒輪與一些額外的存儲空間,或者你可以與php或java應用程序共同定位它作爲cron作業。您可以讓它將文件存儲在Amazon S3上,並將它們拉下/上載,因爲它們對它們進行ffmpeg操作。由於OpenShift也託管在亞馬遜上(在美國 - 東部地區),這些操作應該非常快,只要您還將S3存儲桶放在美國東部地區。

這些是我的想法,希望它有幫助。隨意提問,如果你有他們。您也可以訪問http://help.openshift.com並在「聯繫我們」下點擊「提交請求」並確保您引用了此StackOverflow問題,以便我知道您在說什麼,您可以提出您可能遇到的任何問題,並且我們可以爲他們討論解決方案。

+0

這非常有用,謝謝。我不清楚的一部分是文件系統 - 我沒有想到將OpenShift與AWS混合搭配,但爲什麼不呢? – 2014-08-27 18:02:36

+0

每個OpenShift設備都有它自己的文件系統,即使它在縮放應用程序中,也不能訪問OPENSHIFT_DATA_DIR中的其他文件或用戶上傳的文件。所以讓你的代碼與Amazon S3交互會是一種解決方法。已經有很多庫,比如用於Rails的paperclip。 – 2014-08-27 18:04:17