2012-07-30 66 views
3

我已经开始用2个月前的web开发与python/gae。我们从gae切换到AWS和Java Play !.Java玩!框架开发

  1. 如果我想在AWS上部署我的应用程序,我会遇到问题吗?目前我可以使用Elasticbeanstalk,这是一个单击解决方案。 Elasticbeanstalk与Play兼容! ?

  2. 我不知道斯卡拉。由于写得很好的教程,我没有问题使用Scala的模板/路由系统。但也许我会遇到未来的问题。如果我想使用Play,你会推荐我学习Scala吗? ?

  3. 我可以在本地运行我的应用程序而无需部署它,这给了我一个非常好的工作流程。是否有可能为AWS开发并在本地测试我的应用程序?

回答

2

在回答你的问题

  1. 由于AWS弹性豆秆支持在it.There不会有任何问题部署您可以玩Java Web应用程序部署!项目。

  2. 你不必是同时使用播放斯卡拉Pro中使用Play!],即可习惯斯卡拉!并最终变得精通它,然后如果你想你可以学习它。

  3. 当然你也可以开发您的AWS应用程序并对其进行测试locally.Eclipse IDE有一个伟大的插件。

    http://aws.amazon.com/eclipse/

+4

AWS弹性豆秆含有Servlet容器(Tomcat)的,你需要提供战争。 Play应用程序无法工作。 Play不是建立在J2EE堆栈上的。把它想象成带有内置(netty)HTTP服务器的Java应用程序。你需要做的是运行简单的Java应用程序并将其放在负载平衡器后面。您可以使用'play dist'命令将您的应用程序放入单个zip文件,将其上传到AWS,解压并使用提供的'start' shell脚本运行。 – 2012-07-30 10:28:06

2

哪个版本的游戏中!你在询问?

Beanstalk承载Tomcat,并期待servlet技术(servlet,过滤器,捆绑为WAR),而Play! 2.0 Scala版本产生可运行的基于Netty的(非servlet)程序,该程序绑定到您选择的端口。玩! 2.1将支持servlet 3.0。 See this ticket for milestone information.

所以,你可能要监控的Play的servlet支持,或青苗的基于Netty中的技术支持的进展情况。

+0

我正在使用Play! 2.0.3RC。会有这样的工作吗? https://github.com/dlecan/play2-war-plugin/ – 2012-07-30 10:40:35

+0

应该这样做。作者自己评论了我发布的链接:https://play.lighthouseapp.com/projects/82401/tickets/8#ticket-8-7 – opyate 2012-07-30 11:25:48

+0

从该插件的Github页面,支持Play!上升到2.0.2,所以你要检查2.0.3RC是否可以工作。 – opyate 2012-07-30 11:33:53

0

如果你愿意升级到播放2.3.x版本或更高版本,Boxfuse具有本地播放2支持来解决这个问题。

Boxfuse为您创建最小的图像在VirtualBox和AWS上运行未改变的应用程序。

您可以使用Java或Scala编写应用程序,但来自Typesafe Play 2的应用程序对后者有强烈的偏见。

要部署到AWS与Boxfuse你现在可以简单地执行boxfuse run my-play-app-1.0.zip -env=prod这自动地:

  • 创建一个最小的AMI量身定做您的播放2应用
  • 创建一个弹性IP
  • 创建安全组正确的权限
  • 启动您的应用程序的实例

所有未来更新均以蓝色/绿色部署执行,零停机时间为

这也适用于Elastic Load Balancers和Auto-Scaling Groups,而Boxfuse免费套餐旨在适合AWS免费套餐。

你可以阅读更多关于它在这里:https://boxfuse.com/blog/playframework-aws

免责声明:我Boxfuse的创始人和CEO