【问题标题】:Java Play! Framework Development爪哇玩!框架开发
【发布时间】:2012-07-30 10:07:17
【问题描述】:

我在 2 个月前开始使用 python/gae 进行 Web 开发。我们从 gae 切换到 amazon AWS 和 Java Play!。

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

  2. 我不了解 Scala。由于教程写得很好,我在模板/路由系统中使用 Scala 没有任何问题。但也许我会遇到未来的问题。如果我想使用 Play,你会推荐我学习 Scala! ?

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

【问题讨论】:

    标签: java scala amazon-web-services playframework-2.0


    【解决方案1】:

    回答你的问题

    1. 由于 AWS Elastic Bean Stalk 支持在其上部署 Java Web 应用程序。部署您的 Play 不会有任何问题!项目。

    2. 您不必成为 Scala 专业人士也可以使用 Play!。您将在使用 Play 时习惯 Scala!并最终精通它,然后如果你愿意,你可以学习它。

    3. 当然,您可以为 AWS 开发应用程序并在本地进行测试。Eclipse IDE 有一个很棒的插件。

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

    【讨论】:

    • AWS Elastic Bean Stalk 包含一个 Servlet 容器 (Tomcat),您需要提供一个 WAR。 Play 应用程序将无法使用它。 Play 不是建立在 J2EE 堆栈上的。将其视为具有内置(netty)HTTP 服务器的 Java 应用程序。您需要做的是运行简单的 java 应用程序并将其放在负载均衡器后面。您可以使用play dist 命令将您的应用程序放入单个压缩包中,然后将其上传到 AWS,解压缩并使用提供的start shell 脚本运行。
    【解决方案2】:

    Play 的哪个版本!你在问什么?

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

    因此,您可能想要监控 Play 的 servlet 支持或 Beanstalk 对基于 Netty 的技术的支持的进度。

    【讨论】:

    【解决方案3】:

    如果您愿意升级到 Play 2.3.x 或更高版本,Boxfuse 提供原生 Play 2 支持来解决此问题。

    Boxfuse 为您创建一个在 VirtualBox 和 AWS 上运行不变的 Play 应用程序的最小图像。

    您可以使用 Java 或 Scala 编写应用程序,但来自 Typesafe Play 2 的应用程序强烈倾向于后者。

    要使用 Boxfuse 部署到 AWS,您现在只需执行 boxfuse run my-play-app-1.0.zip -env=prod,这将自动执行:

    • 为您的 Play 2 应用量身定制最小 AMI
    • 创建弹性 IP
    • 创建具有正确权限的安全组
    • 启动您的应用实例

    所有未来的更新都作为零停机时间的蓝/绿部署

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

    您可以在此处阅读更多信息:https://boxfuse.com/blog/playframework-aws

    免责声明:我是 Boxfuse 的创始人兼首席执行官

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-11
      • 1970-01-01
      • 1970-01-01
      • 2012-08-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多