当前位置: 首页 > 知识库问答 >
问题:

每个EC2实例中AWS弹性beanstalk中docker容器的缩放数量[app架构]

齐夕
2023-03-14

我有一个dockerized数据应用程序,它运行长时间的计算,并且没有多线程或异步的灵活性,因此多用户是一个日益严重的问题。docker映像目前运行在弹性Beanstalk上(主要是为了熟悉AWS),但我很快注意到水平缩放EC2实例,在每个EC2实例运行一个docker容器,将会非常昂贵。应用程序的计算并不是非常占用CPU的,所以最好利用每个实例的容器数量。

弹性Beanstalk是否有一个策略来为每个EC2实例部署'x'#个docker容器并相应地指挥流量?或者我应该专注于完全不同的AWS产品?我希望在给定的时间内有10-20个相同docker映像的副本可用来处理流量,但不能通过使用负载均衡器设置直接将EC2实例的数量增加到10-20来实现这一点。

另外,我知道您可以通过在dockerrun.aws.json文件中指定多容器应用程序来运行多容器应用程序,但我的理解是,您主要是为了部署一个需要多个不同的dockerized服务的应用程序而这样做的。是否有可以添加到dockerrun文件中的配置设置来实现我所要查找的内容?...没有硬编码图像+端口映射的20个不同副本

DockerRun.aws.json

{
"AWSEBDockerrunVersion": "1",
"Authentication": {
    "Bucket": "s3_bucket_name",
    "Key": "config_file"
},
"Image": {
    "Name": "image_name"
},
"Ports": [{
    "ContainerPort": 3838,
    "HostPort": 3838
}]

}

共有1个答案

宦烈
2023-03-14

不同的马用于不同的课程,您可以使用弹性Beanstalk来完成正常的工作负载,但您不能期望ECS在Docker的情况下提供那么多的可伸缩性和灵活性。

Amazon弹性容器服务(Amazon ECS)是一个完全管理的容器编排服务。Duolingo、Samsung、GE和Cookpad等客户使用ECS来运行他们最敏感和关键任务的应用程序,因为它具有安全性、可靠性和可伸缩性。

为您查询

 类似资料:
  • 我有一个包含4种类型容器的多容器Elastic Beanstek应用程序。其中一个容器是,它的设计方式是您可以设置容器应该关闭的最大内存限制,然后想法是您使用策略再次启动它来运行它。 从Dockerrun中我可以看到。aws。json语法没有什么比正常的docker compose重启策略更需要定义的了。根据我在其他资源上的发现,推荐的方法是创建一个ECS服务,在任务失败时重新启动任务。 但是--

  • 我不知道缩放机制是如何工作的。例如:我的弹性豆茎环境中有5个docker容器。现在只有第五个docker容器负载很重,因为它有巨量的SQS消息要处理,其他四个几乎是空闲的,因为它们不需要多少CPU,或者可能没有很多SQS消息。让我们假设第5个容器运行一个JBoss应用服务器。据我所知,即使有足够的CPU/内存可用,服务器也只能消耗有限数量的并行请求。 如果JBoss Docker容器无法处理大量的

  • 有没有办法使用现有的Amazon EC2实例创建Elastic Beanstek环境?

  • 我已经为web服务创建了10个微服务Docker,并将创建的映像推送到ECS,并使用elastic beanstalk进行部署。将所有Docker放置在单个任务定义中,并创建了一个用于应用程序级自动缩放的服务。它通过在自动缩放时复制它来创建另一个任务。 我只想为dockers应用自动缩放,而不是为任务应用自动缩放。如果一个docker受到CPU或内存负载的影响,自动缩放应该只创建特定docker的

  • 维特。x是在JVM上构建反应式应用程序的工具包。 我想将vertx用于基于JVM的自动可伸缩RESTful后端API。 到目前为止,我从留档中发现,默认情况下,它需要机器中的内核数量,假设您有N个内核,并为每个内核创建N个线程,每个线程是一个事件总线,每个线程包含vertx实例。问题是,Vertx如何控制实例数量?基于负载压力? 关于控制在给定线程中运行的垂直线的数量,我仍然不明白。请帮我弄清楚这

  • 假设我有两个Docker容器1和2。我想使用多容器Docker映像将这些部署到AWS Elastic Beanstalk,以便我有以下EC2实例来降低成本: ELB应用程序负载平衡器(有多少?) > ELB应用程序负载平衡器(有多少?) EC2实例2 Docker容器1 EC2实例3 Docker容器1 所以我的问题是: 我需要创建多少个弹性Beanstalk应用程序?从文件中不清楚