长连接的连接排空(>1小时)

0

【以下的问题经过翻译处理】 我的客户在一个经典负载均衡器(Classic Load Balancer)后面的自动伸缩组(Auto-Scaling Group)中运行他们的应用程序。但是,应用程序有时会有持续数小时的连接。他们正在寻求应用程序的持续部署方案。计划是创建一个带有新部署版本的新ASG,将其连接到CLB,并从CLB中断开旧的ASG。

由于负载均衡器的最大连接排空超时时间是60分钟,它将在每小时开始时销毁任何在用的连接,然后实例将被ASG终止。

他们是否可以使用Amazon Route 53中的“更新DNS路由”方法(来自https://d1.awsstatic.com/whitepapers/AWS_Blue_Green_Deployments.pdf)?如果可以,当他们将100%的流量路由到新部署时,到旧部署的现有连接仍然会保持活动状态吗?

还有没有其他的办法?他们需要实现自定义逻辑来路由和排空连接吗?有没有AWS服务中的功能可以利用?

profile picture
EXPERTE
gefragt vor 6 Monaten38 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 他们可以这样做,但要注意这样做不会利用连接排空功能,因为他们将会更改DNS指向不同的ELB。在此期间,旧负载均衡器上现有的连接不受影响,直到客户端重新连接或重新解析DNS。

另一个选择是他们可以将新ASG附加而不分离旧ASG,让旧ASG中的所有健康检查失败。然后他们可以等待(期望排空时间-配置的排空时间)并注销ASG。相对于Route53,这种方式的优点是客户端不必担心DNS,不需要维护2个ELB,您可以选择任何所需的排空时间。这是因为CLB将不健康的后端与已注销的后端一样处理,允许在飞行的请求完成且不发送新请求。请注意,对于TCP侦听器,连接到不健康的目标的连接不会被ELB中断,客户端或后端导致其关闭或失败时才会中断。

profile picture
EXPERTE
beantwortet vor 6 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen