Gar*_*day 6 amazon-web-services amazon-ecs aws-fargate
我有一个 ECS Fargate 集群,其中的服务根据队列中的消息数量生成任务。每个任务对队列进行长轮询,一次处理一条消息。如果队列收到超过 5 条消息,则会启动一个新任务并开始接收消息。当队列低于前一个阈值的 5 条消息时,它会关闭一个任务。
我的问题是,当服务决定缩减规模时,它如何知道要终止什么任务?所有任务都可以处理消息。每个任务持续运行并从 SQS 进行长时间拉取,那么它如何知道任务处于有效关闭状态(刚刚完成一条消息)和无效关闭状态(当前正在处理一条消息)。
改进任务终止存在一个悬而未决的问题,因为人们与您有同样的担忧:
从这个问题来看,您可以使用stopTimeout 最大限度地减少任务终止对进程的影响。参数为:
如果容器未自行正常退出,则在强制终止容器之前等待的持续时间(以秒为单位)。
但ESC还有一个新功能:
这样你就可以设置:
容器启动和关闭的依赖关系以及每个容器的启动和停止超时值。
因此,通常无法完全控制任务的终止,就像终止 AutoScaling 组中的实例一样。但事情正在进展中。
| 归档时间: |
|
| 查看次数: |
1336 次 |
| 最近记录: |