首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >定制/架构AWS ELB,使其具有零停机时间

定制/架构AWS ELB,使其具有零停机时间
EN

Stack Overflow用户
提问于 2017-10-19 16:54:01
回答 1查看 69关注 0票数 1

因此,有一天,我们遇到了一个问题,应用程序负载平衡器背后的一个实例失败了,实例状态检查和系统检查都失败了。我们的ELB检测到这一点并将实例标记为“不健康”花费了大约10秒(我们所能得到的最小时间),但是当ELB继续将流量路由到不健康实例时,我们在这10秒内丢失了一些流量。有没有解决办法,我们可以避免字面上的任何停机,或我太不切实际?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-19 19:20:13

我相信这不是您想听到的答案,但是如果10s是不可容忍的,为了将系统上的流量损失降到最低,您需要实现您自己的健康检查/负载平衡解决方案。我的组织有一些系统,在这些系统中,丢包也是不可接受的,这也是我们需要做的。

这个解决办法是双重的。

  1. 您需要实现自己的负载平衡基础结构。我们选择使用Route53加权记录集(TTL为1s,我们将返回到此),每个服务器的权重相同
  2. 每个负载平衡的EC2实例启动一个ECS容器实例,其唯一目的是进行健康检查。它同时运行DNS和IP健康检查(python中的请求库),并在发现问题时实时添加/删除Route53加权记录。

然而,在我们的测试中,我们发现,虽然来自Route53的上游DNS服务器在删除DNS记录时遵守1秒TTL,但它们“黑名单”该记录(FQDN + IP组合)不会再次恢复10分钟(我们得到的分辨率从1M到10m不等)。因此,您将能够快速故障转移,但您必须考虑到它将需要多达10分钟的时间来重新添加记录以获得荣誉。

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

https://stackoverflow.com/questions/46835075

复制
相关文章

相似问题

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