时政
财经
科技
虚拟货币
其他
登录
#区域服务中断
关注
Viking
1周前
AWS 这次事故的原因报告出来了: 简单看了一下,让 AI 总结一下: 1 DNS 记录由 DNS Planner 定期生成一份完整的区域计划,列出应该指向哪些load balancer。 2 DNS Enactor 负责把计划写进 Route 53(Amazon 的 DNS 系统),每个可用区运行一个独立实例。所以有多个。 3 Enactor 开工前只核对一次:确保手里的计划是最新版本。 4 其中一个 Enactor 在更新 DNS 记录时,速度卡了,每改一个endpoint 都要试好几次才成功。 5 在它卡顿的过程中,Planner 生成了多个更新的计划,其他 Enactor 已经快速把最新计划写进了 Route 53。 6 慢的 Enactor 最初检查时认为自己的计划是最新,但由于延迟太久,实际上已经过时。它没有再次检查,直接用的旧计划。 7 快的 Enactor 写完后会清理旧计划,把所有比自己刚应用的版本更旧的计划全部删除。 8 结果:慢 Enactor 正在应用的旧计划被快的 Enactor 删除,导致区域端点的 DNS 记录被清空。 9 区域端点无法解析,连接全部失败,引发区域级服务中断。 感觉设计真的挺复杂的,但是几十万条 DNS 记录只能自动化实现,并发 + 延迟 就造成了竞态条件的问题。
#aws事故
#DNS故障
#区域服务中断
#竞态条件
#自动化运维
分享
评论 0
0
个人主页
通知
我的投稿
我的关注
我的拉黑
我的评论
我的点赞