2014-08-27 58 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