【问题标题】:How to deploy an embedded server to Elastic-Beanstalk?如何将嵌入式服务器部署到 Elastic-Beanstalk?
【发布时间】:2015-03-23 02:17:51
【问题描述】:

我们使用 DropWirzard 开发了多个微服务,为每个微服务嵌入了码头服务器。

有没有人有将嵌入式服务器部署到 elastic-beanstalk 以进行自动缩放的经验?

-感谢您的宝贵时间

【问题讨论】:

  • 看起来 DropWizard 只是构建了一个战争文件。您是否尝试过构建标准战争并将其部署到 beanstalk?很有可能它会起作用。
  • 感谢您的建议,我会试一试,看看有什么效果。 (老实说,DropWizard 是否可以打包为 WAR,因为它是以 uber-jar 为中心的)。

标签: amazon-web-services amazon-elastic-beanstalk embedded-jetty


【解决方案1】:

截至 2015 年 9 月,Elastic Beanstalk 支持 Java 7 和 8 的普通 Java SE 环境,因此您可以“运行任何 Java 应用程序,包括那些使用服务器或框架(如 Jetty 或 Play)且不再受限制的应用程序将 Tomcat 用作 Java 应用程序的应用程序服务器”(Java SE support announcement)

默认情况下,EB 将使用java -jar application_name.jar 启动您的应用程序。 或者,您可以在应用程序根目录中包含 Procfile,并在第一行使用 web: 指令准确指定如何启动它:

web: java -Xms:256m -jar my_dropwizard_app.jar

查看latest EB developer guide 了解更多详细信息。

【讨论】:

    【解决方案2】:

    您是否考虑过将每个微服务部署在单独的 docker 容器上并将这些容器部署在 AWS Elastic Beanstalk 上? http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker.html

    【讨论】:

      【解决方案3】:

      创建一个包含您的:application.jar、Procfile 和 config.yml 的 zip

      在 Procfile 中写下 exatclty 这个:web: java -jar application.jar server config.yml

      将 jar 命名为 application.jar

      在 ELB 上上传 zip。

      【讨论】:

        猜你喜欢
        • 2015-01-06
        • 2020-01-29
        • 2018-02-09
        • 2018-06-13
        • 1970-01-01
        • 1970-01-01
        • 2015-06-20
        • 2015-09-18
        • 2020-03-24
        相关资源
        最近更新 更多