gpt4 book ai didi

amazon-web-services - ECS Fargate Auto Scaling 策略如何知道不会终止工作任务?

转载 作者:行者123 更新时间:2023-12-03 19:13:30 25 4
gpt4 key购买 nike

我有一个 ECS Fargate 集群,其中的服务根据队列中的消息数量生成任务。每个任务对队列进行长轮询,一次处理一条消息。如果队列收到超过 5 条消息,则会启动一个新任务并开始接收消息。当队列低于前一个阈值的 5 条消息时,它会关闭一个任务。

我的问题是,当服务决定缩减规模时,它如何知道要终止什么任务?所有任务都可以处理消息。每个任务持续运行并从 SQS 进行长时间拉取,那么它如何知道任务处于有效关闭状态(刚刚完成一条消息)和无效关闭状态(当前正在处理一条消息)。

最佳答案

有一个改善任务终止的悬而未决的问题,因为人们与您有同样的担忧:

  • [ECS] [request]: Control which containers are terminated on scale in #125

  • 从这个问题来看,您可以通过使用 stopTimeout 来最小化任务终止对您进程的影响。 .参数为:

    Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own.



    但是 ESC 也有一个新功能:
  • Amazon ECS Introduces Enhanced Container Dependency Management

  • 有了这个,你可以设置:

    dependencies for container startup and shutdown as well as a per-container start and stop timeout value.



    因此,通常无法完全控制任务的终止,就像您在 AutoScaling 组中终止实例一样。但事情正在处理中。

    关于amazon-web-services - ECS Fargate Auto Scaling 策略如何知道不会终止工作任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61392241/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com