如何将嵌入式服务器部署到 Elastic-Beanstalk?

How to deploy an embedded server to Elastic-Beanstalk?

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

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

-感谢您的宝贵时间

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

截至 2015 年 9 月,Elastic Beanstalk 支持 Java 7 和 8 的普通 Java SE 环境,因此您可以 "run any Java application, including those that use servers or frameworks such as Jetty or Play and are no longer restricted to using Tomcat as the application server for your Java applications" (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 了解更多详细信息。

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

的 zip

在 Procfile 中这样写:web: java -jar application.jar server config.yml

将罐子命名为 application.jar

在 ELB 上上传 zip。