AWS Elastic Beanstalk 负载均衡器会缩小实例,尽管仍有异步进程在其上运行

问题描述 投票:0回答:1

我有一个 AWS Elastic Beanstalk 工作线程环境,它基于 SQS 消息或 Cron-Jobs 处理 Node.js 中的一些数据。

其中一个 Cron-Jobs 正在运行一个主进程(当前需要 20~ 分钟),该进程启动 0-N 异步“子进程”。 子进程的最坏情况运行时间为 1 小时,其中定期休眠 1 分钟。

在日志中,我发现一些子进程从未以 FIFO 方式完成,因此这似乎是由负载均衡器关闭这些进程仍在运行的实例引起的。由于睡眠,这些进程也不会占用大量 CPU,这可能会导致问题,因为负载平衡测量与 CPU 指标一起工作。

是否有一种简单的(如果可能的话)“实例上”方法来防止负载均衡器在流程运行时关闭实例?

node.js amazon-web-services asynchronous amazon-elastic-beanstalk load-balancing
1个回答
0
投票

首先澄清一些术语。负载均衡器不处理实例扩展。它只是将流量分配到您的实例。自动缩放组负责处理实例缩放以及从负载均衡器的目标组中添加或删除实例。

AWS Auto-Scaling 组能够在 EC2 实例因缩减事件而计划终止时通知您的 EC2 实例。您的 EC2 实例可以使用 终止生命周期挂钩 推迟终止事件,直到完成当前任务。

© www.soinside.com 2019 - 2024. All rights reserved.