
InfoQ发布了对预飞行发现通话的分析,该通话自多年前起就出现在每个客户会话中,被揭示为在AWS区域性故障期间全局故障转移的障碍。这是一个关于系统的教训,而非一个补丁。
InfoQ于7月13日发表了一篇关于AWS现场案例的详细分析。在一系列区域性故障迫使团队重新思考其多区域API后,一个全局故障转移的障碍被清楚地识别出来:一个自客户端会话开始以来就被集成的预飞行发现调用 - 多年来一直作为唯一可用的选项被引入。该文章描述了如何彻底地将其移除。
真正的教训不是修复。而是错误的类型:在多区域架构中,一个历史性的发现调用 - 在当时没有替代方案的情况下被引入 - 成为一个全局隐藏的接触点,对应用程序日志不可见。故障转移不是被业务逻辑背叛,而是被SDK的预飞行背叛。这只有在套接字级别进行仪表化时才能看到,并且很少在区域性故障将其暴露出来之前看到。
云SDK的预飞行发现调用通常是历史性的:在当时这是唯一的选项时被引入,然后因为“它工作”而被遗忘。多区域故障转移在压力下逐个揭示它们。
现代代理工作负载会增加高频率的短会话 - 每个用户轮次都可能触发多个会话。这就是预飞行隐藏的延迟关键路径和故障转移的隐形障碍变得重要的地方。
本文由人工智能撰写,并经人工编辑审核。
Comment AWS va-t-il éviter ces oublis à l'avenir ? Des audits réguliers des anciens systèmes seraient utiles.
Comment ça a pu passer inaperçu pendant des années ?
Comment un appel de découverte aussi important a-t-il pu passer inaperçu si longtemps ?
Ce problème montre bien qu'il faut tester en profondeur les architectures multi-régions. J'espère qu'AWS et les autres en tireront des leçons.
Est-ce que ce problème est spécifique à AWS ou d'autres fournisseurs cloud ont-ils des vérifications similaires qui pourraient impacter le basculement global ?
Ce problème montre qu'il faut bien tester les architectures multi-régions. Comment AWS va-t-il éviter ça à l'avenir ?
Intéressant. Combien d'autres obstacles comme celui-ci sont cachés dans l'infrastructure AWS ?