Stripe用图搜索与状态机自动化数据库修复
译文 AI 逐段翻译
InfoQ 首页 新闻 Stripe 使用图搜索和状态机自动化数据库修复
Stripe 使用图搜索和状态机自动化数据库修复
2026年8月9日 2分钟阅读
作者
关注我们
听这篇文章 - 0:00
音频已准备好播放
您的浏览器不支持音频元素。
0:00
0:00
Stripe 的工程团队最近描述了如何自动化数据库事故恢复,通过将其全球基础设施建模为图。使用图搜索算法和状态机,团队自动计算并执行修复计划。
据作者称,该系统现在动态适应不同的 MongoDB 分片布局,将数据库相关的寻呼机警报减少约 30%。这相当于每年减少 200 次寻呼,同时每年消除约 12 天的健康分片状态。
Stripe 发现其原有的硬编码、基于插件的修复系统无法很好地扩展,因为脆弱的依赖关系、复杂的多重故障场景、特定布局的逻辑以及未处理的中间状态常常需要人工干预。作者承认:
在六个月的时间窗口内,控制平面因配置错误的分片寻呼操作员 124 次,因单节点宕机并伴随其他健康问题而寻呼 32 次。索引构建和计划维护等关键操作在每次事故中被阻塞平均一小时。
Stripe 通过将其 MongoDB 基础设施建模为图来解决这些限制,节点代表基础设施组件,边捕捉它们之间的关系,节点属性描述当前状态。
移除先前硬编码的修复序列,Stripe 现在依赖图遍历来识别有效的恢复路径,允许相同的修复逻辑自动适应不同的数据库布局和演进的基础设施。
来源:Stripe 博客。
Stripe 最初使用广度优先搜索来找到有效的修复路径,但后来采用了迪杰斯特拉算法,以优先考虑成本更低的恢复计划,在保持正确性的同时减少不必要的操作:
因为迪杰斯特拉算法探索到所有可达状态的路径,而不仅仅是目标状态,我们还可以获得部分修复。当不存在完整路径时,算法返回最少配置错误状态的路径。
Stripe 没有将恢复逻辑嵌入固定工作流,而是将修复建模为具有显式状态转换的可组合规则,使规划器能够随着基础设施的演进动态地组合操作。根据这篇文章,团队计划将该框架扩展到故障恢复之外,用于自动化拓扑变更和蓝绿部署,并协调计划维护与被动修复。团队总结道:
对于管理复杂分布式基础设施的团队来说,这种状态机建模、基于仿真的规划和运行时路径查找模式,为积累越来越具体的运行手册提供了一种引人注目的替代方案。运行手册编码已知的恢复程序;状态机可以发现新的程序。
Stripe 并不是唯一一家投资自动化基础设施运营的大型软件公司。Uber 最近描述了其声明式的、自愈的 Odin 平台,而 Meta 详细介绍了AI 辅助工具以加速事故响应。Stripe 开发者基础设施负责人 Scott MacVicar 在领英上写道:
运营全球数据库集群意味着接受硬件退化和不健康分片是日常发生的事。在规模上,挑战不仅仅是修复问题,而是在不耗尽待命工程师的情况下做到这一点。
Stripe 的工程团队最近还发表了关于Stripe Connect 中的资金隔离和事件通知处理器用于处理薄事件的文章。
关于作者
Renato Losio
显示更多显示更少
此内容属于 AI、机器学习与数据工程主题
相关主题:
- Stripe 使用图搜索和状态机自动化数据库修复
- Project Valhalla 首次预览:JEP 401 重新定义 Java 对象的 ==
- Pinterest 如何通过集中式 Terraform 管道在规模上保护 AWS 基础设施
- Canva 分享基于 S3 的架构,用于在数亿会话中撤销会话
- Vercel Labs 推出 Zero:一种图优先语言,专为代理编写代码而构建
- 文化与方法趋势 2026:AI 工程的人文层面
InfoQ 时事通讯
每周二发送的 InfoQ 上周内容摘要。加入超过 250,000 名资深开发者的社区。 查看示例