Files
nexus/sreweekly/markdown/290/06-the-strange-beauty-of-strange-loop-failure-modes-zh.md

21 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 自指失效模式的奇特之美
- **期号**: SRE Weekly Issue #290(2021-10-03)
- **作者**: Lorin Hochstein
- **链接**: https://surfingcomplexity.blog/2021/09/26/the-strange-beauty-of-strange-loop-failure-modes/
## 简介
部署工具由谁来部署?显然是部署工具自己——除非它宕机了。
## 正文
正如我[之前写过的](https://surfingcomplexity.blog/2021/08/20/what-do-you-work-on-anyway/),我的日常工作围绕一个叫 [Managed Delivery](http://managed.delivery) 的项目展开。刚加入团队时,我有点震惊地得知,支撑 Managed Delivery 的服务竟然是用 Managed Delivery 自己来部署的。
"这多危险啊!"我想。要是我们推出的变更把 Managed Delivery 搞挂了怎么办?我们该怎么恢复?不过,在团队待了一年多之后,我对这种做法有了全新的认识。
是的,有时候确实会发生故障,而且会让回滚变得更难,因为提供便捷回滚主要功能的恰恰是 Managed Delivery 自己。但这也意味着,当出问题时,团队在绕过 Managed Delivery 方面得到了大量练习。他们知道如何禁用 Managed Delivery,改用传统的 Spinnaker UI 部署旧版本;他们知道当 Managed Delivery 的 UI 响应异常时,该怎么去数据库里折腾排查。
这些[自指失效模式(strange loop failure modes)](https://snafucatchers.github.io/#4_5_Strange_loops_dependencies)是真实存在的:如果 Managed Delivery 挂了,我们可能失去借助 Managed Delivery 来恢复的能力。但这也意味着,当 Managed Delivery 出问题时,我们更有准备去应对。没错,Managed Delivery 依赖它自己,这确实有点怪。但我们对这种自指依赖引发问题时该如何处理是有经验的。而这是很有价值的。
## 关于"自指失效模式的奇特之美"的 2 条评论