首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将ELB和AutoScaling终端用于长连接

如何将ELB和AutoScaling终端用于长连接
EN

Stack Overflow用户
提问于 2020-02-18 17:02:07
回答 2查看 131关注 0票数 0

我想设置自动伸缩组,在那里我们可以根据CPU负载启动和终止实例。但通常我们的连接会持续很长时间,比如超过8小时,有时甚至更长。当我使用NLB时,注销延迟只支持到3600秒,在此之后,NLB会强制删除导致长连接失败的连接,自动伸缩也会终止实例。

如何确保在8-10小时后处理到目标组的所有连接,然后NLB注销或自动伸缩终止实例?

我检查了ASG生命周期钩子,它只允许连接到2小时。

是否可以在释放所有连接后注销目标组中的实例,并使用ASG销毁实例?

EN

回答 2

Stack Overflow用户

发布于 2020-03-18 10:01:01

没有任何好的/简单的方法来做你想做的事情。最长可持续10个小时的实例在做什么?

根据您的工作类型,这是我能想到的最好的变通方法,但它可能会涉及到一些重新架构。1)设计您的应用程序,以便所有数据都存储在实例之外的某种数据层(S3、RDS、EFS等)。当一个实例完成了它所做的任何事情后,将该信息保存到数据层。这样,用户请求可以转到任何实例并获得相同的信息2) ASG决定扩展3)您配置了一个生命周期钩子,并设置了一个在实例进入terminating:wait状态时触发的cloudwatch通知4)实例周期性地向生命周期钩子发送心跳,这可以将钩子超时时间延长多达2天5)每当实例完成其工作时,它都会将信息保存到1)中提到的数据层,并且客户端可以连接到新的实例以获取旧实例上正在处理的信息

https://docs.aws.amazon.com/cli/latest/reference/autoscaling/record-lifecycle-action-heartbeat.html

https://docs.aws.amazon.com/cli/latest/reference/autoscaling/complete-lifecycle-action.html

票数 0
EN

Stack Overflow用户

发布于 2020-02-27 04:30:18

尝试使用,缩放CoolDown周期。默认定标冷却时间为(300秒)。您可以增加该数量。这将有助于及时扩大规模。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60277146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档