想象你常去的一家餐厅最近换了招牌菜。第一次尝,味道偏咸、上菜又慢,你忍不住打了差评。没想到第二天,主厨就见到了品控经理的记录:慢是因为灶台功率不足,咸是因为酱汁配比失衡。于是主厨加固了电路、调整了配方,一周后你再去,出菜快了,味道也刚刚好。这趟“差评→记录→分析→改进→复购验证”的旅程,就是一条微型的反馈循环。 大型软件系统同样如此。SRE(站点可靠性工程)就是那个品控经理:他们不写业务代码,却最清楚系统上线后发生的一切——哪条链路延迟超标、哪个服务频繁过载、哪次变更引发连锁故障。他们把这些观察转成报告,架构师(主厨)再据此改进设计;改进上线后,SRE继续盯着指标,直到确认问题真正消失。如此周而复始,这条“从SRE实践反哺软件架构设计”的循环,就成了云原生系统持续变稳的秘密。 下面,我们就用这家餐厅的故事,从量度、评估、嵌入、追踪、流程到平衡,把这条反馈循环一处处拆开。
掌握SRE反馈循环,意味着你不再只会“救火”,而是能把运维现场淬炼成架构决策的量化依据——这是云原生时代架构师与SRE共同的核心竞争力。
可视化演示
展示SRE反馈循环:运维经验转化为架构改进输入、架构韧性评估框架、SRE洞察嵌入架构评审与设计阶段,通过交互理解可靠性反哺机制。
本节配有交互动效(进入视口后自动加载,约 3KB)。
反馈循环:运维到架构 经验转化为改进输入 量化度量追踪 Lp 可靠性持续提升
反馈循环建立
作为常客,你并不知道后厨里发生了什么:品控经理把差评抄进台账,标注时间、桌号、菜品和具体问题;第二天主厨翻到这条记录,对照后厨日志还原出“电磁炉功率不足+酱汁配比失衡”两个根因;随后加固电路、调整配方;一周后你再次光顾,确认出菜速度和口味都恢复正常。差评没有停在投诉箱,而是穿过记录、分析、改进、验证四个环节,又回到你的餐桌上。这就是反馈循环的完整旅程。
SRE实践做的正是品控经理的工作。监控系统持续采集延迟、错误率、饱和度等信号,这是“观察”;告警触发后排查调用链与日志,锁定根因,这是“定位”;架构师根据结论增加超时、限流、冗余等改动,这是“改进”;新版本上线后持续观测SLO是否恢复,这是“验证”。四个环节缺一不可,而且必须首尾相接、反复运转,才算建立了真正的闭环机制。
要转得动,三个条件缺一不可:一是闭环机制,每个环节都有明确负责人和交付物,例如定位环节必须输出根因报告;二是数据驱动,判断严重程度不能靠“感觉不太对”,而要对照SLI指标基线与历史数据;三是持续改进,每一轮循环沉淀的知识都要写进文档和下一轮设计,让循环越转越聪明。循环周期越短,可靠性爬升越快。
主厨不必每天守在餐厅里,但必须定期翻看品控台账。反馈循环的价值正在于此:它让架构师永远带着最新鲜的“顾客反馈”做决策,而不是闭门设计一个看上去完美却经不起风雨的系统。
- 循环周期 \(T_{\text{cycle}}\)从故障发生到改进效果得到验证的总耗时,越短代表反馈越敏捷。
- 观察阶段 \(T_{\text{observe}}\)故障发生到监控告警的时间差,取决于指标采集粒度和告警灵敏度。
- 定位阶段 \(T_{\text{diagnose}}\)收到告警到根因明确的耗时,依赖日志、链路追踪等可观测工具。
- 改进阶段 \(T_{\text{modify}}\)完成架构改动(如加超时、加冗余)的编码与发布耗时。
- 验证阶段 \(T_{\text{verify}}\)新版本上线后确认故障率回落、SLO恢复达标的时间。
SLI/SLO度量
餐厅要判断自己“是否让顾客满意”,不能只靠零星几句抱怨。品控会盯住几个关键数字:平均出菜时长、退单率、高峰等位超时率。这些数字像体温计一样显示餐厅的健康状态。软件系统同样如此——运维人员绝不能凭感觉说“系统还挺稳”,必须用可量化的指标说话。
在SRE体系里,SLI(服务水平指标)是具体的测量值:请求延迟的P99、错误率、队列饱和度等,它们回答“用户实际体验如何”;SLO(服务水平目标)是对SLI设定的目标线,比如“99.9%的请求要在200毫秒内返回”,回答“我们应该达到多好”。选定合适的SLI,是反馈循环能否真正反映用户体验的前提——要优先选用户能感知的指标,而不是只看CPU使用率这类内部指标。
设定SLO也有讲究:不要把目标定在100%,否则成本会指数级上升。通常做法是从历史数据中取基线,再留出一点余量,同时把“达不成目标”转成明确的告警信号,驱动反馈循环启动。当SLO持续达标,说明架构还有余力;当SLO被频繁击穿,就说明该把SRE洞察升级为架构改动了。
品控有了清晰的“出菜时长目标”,后厨才知道该配几个人、买几台灶。架构师有了SLO,才能判断现有架构有没有余力、该不该加容量、要不要改调用链。数字是反馈循环的燃料,没有数字,循环就是空转。
- 好事件 \(N_{\text{good}}\)满足SLO阈值的请求次数,比如延迟低于200毫秒的请求数量。
- 总事件 \(N_{\text{total}}\)统计窗口内的全部请求次数。
- 相除取百分比用 \(\frac{N_{\text{good}}}{N_{\text{total}}}\) 得到达标占比,再乘以100%便于与目标值直接对比。
架构韧性评估
再好的餐厅也怕突发状况:主厨临时请假、燃气中断、客流暴涨。有经验的餐厅会提前做演习——故意让一名厨师调休,看看后厨还能不能按时出菜。这种“主动找茬”式的演练,在软件世界里叫故障注入。与其等真实故障把系统打垮,不如在可控范围内先把它打垮一次,看清弱点在哪里。
架构韧性评估就是一套系统化的“找茬流程”。首先做故障注入与混沌演练:故意杀死一个节点、注入网络延迟、切断数据库连接,观察系统会不会雪崩;接着做弱点识别:看哪些环节最先崩溃、哪些依赖是单点、哪些重试会放大流量;最后做优先级排序:把“影响大、发生概率高”的弱点排到最前,进入改进清单。演练结论直接反馈给架构师,成为下一轮设计的关键输入。
韧性评估后,常用可用性指标来量化改进效果。可用性衡量的是“系统真正可用”的时间占比,它同时受两个因素影响:系统能撑多久才坏(平均故障间隔),以及坏了之后多久能恢复(平均修复时间)。这两个数字一个管“防”,一个管“救”,共同决定架构韧性的底线。
常做演习的餐厅,客满时也能不乱阵脚。常做故障注入的系统,真正出故障时才不会手忙脚乱。韧性不是运气,而是反复排练出来的肌肉记忆。
- 平均故障间隔 \(MTBF\)系统相邻两次故障之间的平均正常工作时间,反映系统“撑得住”的能力。
- 平均修复时间 \(MTTR\)从故障发生到服务恢复的平均耗时,反映系统“救得回”的能力。
- 比率计算\(\frac{MTBF}{MTBF+MTTR}\) 表示正常工作时长占整个“故障-恢复”周期的比例,再乘以100%。
设计阶段嵌入
聪明的餐厅不会等新菜出了问题才改配方,而是在研发新菜时,就先翻看品控台账:哪些工序容易出错、哪个供应商不靠谱、哪个时段出餐压力最大——带着这些经验设计新菜,踩坑的概率自然大幅下降。把SRE的运维洞察前置到架构设计阶段,正是这个道理。
传统架构评审往往靠架构师的经验与直觉,缺少线上数据支撑。而将SRE洞察嵌入设计阶段后,架构师拿到的不再是一张白纸,而是一份由线上数据生成的“约束清单”:调用必须设置超时、关键路径必须冗余、依赖禁止串联等。这些约束直接来自真实故障的教训,比任何理论都更有说服力。
落地手段通常有三类:第一是评审输入,架构评审会强制附上SLO摘要与近期故障列表,让评审委员基于事实讨论;第二是设计约束,把可靠性要求写进架构决策记录,成为新系统的默认选项;第三是经验沉淀,将线上事故复盘提炼成“设计检查清单”,新系统逐条对照。这样,SRE的每一次排障都没有白费,都转化成了未来系统的免疫力。
看台账研发的新菜,上桌后差评率自然低。SRE的每一次复盘都不只是“过去式”,而是在为下一版架构画“防错地图”——这就是反馈循环对设计阶段最直接的反哺。
- 第 \(i\) 项改进建议代表一条来自SRE实践的洞察或架构改进方案。
- 发生频率 \(F_i\)该问题在线上出现的频次,由SRE历史故障统计得出。
- 故障影响 \(I_i\)问题发生时对用户或业务造成的损失,可用SLO偏离度、经济损失等度量。
- 改进权重 \(W_i\)频率乘以影响,数值越高越应优先写进设计约束。
度量改进追踪
改完菜谱后,品控不会就此收工。他会连续几周盯着退单率有没有真的下降:是明显改善还是原地踏步?多花的食材成本值不值?没有这层追踪,改进就只是自我安慰。同样,架构改动上线后,SRE必须继续度量,才能确认反馈循环真正起了作用。
度量改进追踪包含三个层面:改进前后对比,看同一SLI在改动前后的分布变化,排除偶然波动;趋势分析,看多轮循环后指标究竟是锯齿震荡还是整体收敛,判断改进方向是否正确;成本效益,计算可靠性提升花掉的资源是否值得,避免为了微小的可靠性增长付出巨大代价。
工程上通常会建立可靠性仪表盘,把关键SLI按迭代版本着色,观察每次架构改动对应指标的拐点。同时配合错误预算的消耗速度,衡量团队手里还有多少风险余量。这样一来,每轮循环的成果都有迹可循,也为下一轮架构决策提供了可靠的基线数据。
品控的台账不只是记录,更是餐厅调整预算的依据。可靠性仪表盘让架构师看得见每一分钱花在哪、每一条改进值不值,反馈循环由此越转越清醒,而不是越转越盲从。
- 收益 \(B\)改进后减少的故障损失,包括人工修复成本、业务中断损失等。
- 成本 \(C\)为实现改进投入的研发、运维与云资源费用。
- 净收益\(B - C\) 是收益扣除成本后的净值,只有正数才值得投入。
- 回报比率\(\frac{B-C}{C} \times 100\%\) 表示每一元成本换回的净回报。
组织流程设计
品控经理一个人记一百条投诉,也改不了菜系——他需要主厨愿意改配方,服务员愿意传话,老板愿意批预算。反馈循环能否真正转起来,一半取决于组织流程设计,而不是工具链有多先进。再完美的监控大盘,如果没有跨团队的协作机制,也只会在角落里积灰。
组织流程设计的核心是职责划分、例会机制与跨团队协作。SRE负责测量线上表现、提出改进依据,研发与架构师负责实施改动,双方共同为SLO负责;固定例会把数据摆上台面,讨论“这周错误预算还剩多少、该不该继续上线新功能”,避免改进事项被遗忘在各自的待办清单里。
一个行之有效的实践是“错误预算驱动评审”。SLO目标内留有一部分可容忍的不可用时间,称为错误预算:预算充足时,团队可以安心发布新功能;预算耗尽时,必须冻结新功能、优先投入可靠性修复。SRE与研发定期开可靠性回顾会对账,并同步结论到架构委员会。流程上明确“谁发现、谁决策、谁实施、谁验证”,四个角色缺一不可。
餐厅的品控、主厨、服务员各司其职,才能让反馈从“一纸记录”变成“后厨改动”。SRE反馈循环也一样:流程把个人经验升级为组织能力,循环才不会断在部门墙之间。
- 服务水平目标 \(SLO\)以小数形式表示的目标,如0.99代表99%的请求达标。
- 错误预算 \(EB\)\(1 - SLO\) 得到目标容忍的不可用比例,也就是团队可花的“失败额度”。
性能效率平衡
为了让菜品出得快,餐厅可以雇200个厨师、备100个灶,但这样成本高得离谱,还会把后厨挤得下不了脚。好餐厅追求的是“刚刚够用、忙而不乱”的平衡点。可靠性工程同理:掩盖单点故障的冗余、增加副本的算力、频繁的健康探活……每一项都会带来成本,过度投入只会拖垮业务盈利。
SRE实践在性能优化与资源效率之间取得的平衡,最终会体现为架构决策的量化依据。实践上,团队用“容量水位”与“尾延迟”双指标来把握平衡:当资源水位过高、或P99延迟逼近SLO时,反馈循环提示扩容或优化;当资源冗余过大、利用率长期偏低时,则提示降配以节约成本。可靠性要投在刀刃上,而不是遍地撒钱。
每一轮反馈循环结束时,都要算一笔“边际收益/边际成本”的账。架构师要问:再提升0.01%的可用性,需要多花多少钱?如果这笔钱能带来更大的业务价值,那就投入;如果只是追求指标好看,就该收手。效率导向的循环,才能让系统长期健康运转。
真正成熟的餐厅懂得“今天不接满座”是为了“明天还能开门”。反馈循环的最终目标,不是把可靠性推到100%,而是让系统在可靠、性能与成本之间找到可持续的平衡点——这正是云原生架构决策最需要的量化底气。
- 性能收益 \(P\)架构改动带来的性能改善,如单次请求耗时下降率或吞吐提升量。
- 资源成本 \(R\)为获得该收益投入的CPU、内存、带宽或云费用。
- 资源效率 \(E\)收益除以成本,衡量本轮循环的投入产出比,数值越高越可持续。
AI 应用场景
电商大促前的容量预判与架构加固
阶段:观测与度量阶段(对应“SLI/SLO度量”与“架构韧性评估”)
解决的问题:传统容量规划靠经验拍脑袋,加机器要么浪费、要么不足。SRE用历史大促的SLI数据和故障注入报告,量化峰值压力模型,把容量与韧性设计变成有数据支撑的架构决策,把宕机风险消灭在大促之前。
具体案例:某电商平台大促前两周,SRE拉取近一年核心链路的P99延迟与错误率,发现订单服务存在明显单点风险。架构评审据此引入多副本部署与熔断限流,大促期间订单错误率始终控制在SLO之内。
金融核心系统的架构评审门槛
阶段:设计决策阶段(对应“设计阶段嵌入”)
解决的问题:架构评审凭经验投票、缺少线上数据支撑,导致同类故障反复出现。SRE把近半年的故障复盘、SLO摘要和错误预算消耗报告设为评审必带材料,让每条评审意见都能对应到线上证据,从源头减少架构缺陷。
具体案例:某支付系统新服务评审时,SRE提交了一份“超时重试风暴”复盘,指出同步调用模式存在级联故障风险。架构师据此将同步调用改为异步削峰方案,上线后高峰期不再出现级联超时。
微服务错误预算驱动的发布节奏
阶段:组织协同阶段(对应“组织流程设计”)
解决的问题:研发急着上线新功能、运维怕出故障,两边互相扯皮。错误预算机制用数字统一目标:预算充足就正常发布,预算耗尽就冻结新功能、优先偿还可靠性债,让可靠性与创新速度在同一个框架下对话。
具体案例:某云原生微服务团队设定SLO为99.95%,每周发布三次。某周错误预算突然消耗超标50%,反馈循环立即触发发布冻结,团队暂停两次发布、优先修复配置漂移问题,次周预算恢复后重新放开发布节奏。
Python 演示
"""模拟SRE反馈循环: 从线上观测到架构改进"""import random class FeedbackLoop: def __init__(self, slo_target=0.99): self.slo_target = slo_target self.improvements = [] self.reliability = 0.95 def run_round(self): observation = self._observe() diagnosis = self._diagnose(observation) self._improve(diagnosis) self._verify() def _observe(self): error_rate = random.uniform(0.005, 0.05) return {"error_rate": error_rate} def _diagnose(self, observation): if observation["error_rate"] > 0.03: return "添加超时与重试机制" return "优化缓存策略" def _improve(self, diagnosis): if diagnosis not in self.improvements: self.improvements.append(diagnosis) self.reliability = min(0.999, self.reliability + 0.008) def _verify(self): self.reliability = min(0.999, self.reliability + 0.003) def report(self): print("=== SRE反馈循环报告 ===") for idx, item in enumerate(self.improvements, 1): print("第{}轮改进措施: {}".format(idx, item)) print("最终可靠性: {:.3f}".format(self.reliability)) print("SLO目标: {:.3f}".format(self.slo_target)) if __name__ == "__main__": loop = FeedbackLoop(slo_target=0.99) for _ in range(6): loop.run_round() loop.report()
self.reliability = 0.95初始可靠性设为95%,作为循环起点。observation = self._observe()每轮循环先执行“观察”,收集线上指标。error_rate = random.uniform(0.005, 0.05)用随机数模拟真实环境波动的错误率。if observation["error_rate"] > 0.03:根因判断:错误率过高时,诊断出“缺少超时重试”。if diagnosis not in self.improvements:将识别出的改进措施沉淀下来,避免重复记录。self.reliability = min(0.999, self.reliability + 0.008)每次架构改进让可靠性小幅提升。loop.run_round()主循环:连续六轮执行“观察→定位→改进→验证”。loop.report()输出反馈循环的最终成果和采纳的改进清单。
常见误区
误区很多初学者觉得反馈循环不就是故障处理流程吗?系统已经崩了,再分析再修,不还是救火队员?所谓反哺架构,不过是把事故报告写漂亮点罢了。
正解救火只是反馈的信号来源,循环的重心是“把教训变成下一版系统的默认配置”。就像品控记录一条差评,不是为了给服务员扣钱,而是为了让主厨在下次设计菜谱时避开同样的坑。故障注入、SLO告警、设计约束嵌入,都是在故障发生之前就把防线建好。
为何常见:因为故障处理是最显眼、最紧急的环节,学习者容易把紧急当重要,忽略了日常指标分析、韧性演练这些“不紧急但关键”的前置工作。
误区为了让系统看起来更可靠,把SLO定到99.999%甚至100%,认为目标越高越能倒逼团队进步,监控告警也更频繁更安全。
正解SLO每提高一个9,成本可能翻好几倍。就像餐厅为了把上菜时间从10分钟压到5分钟,需要翻倍的人手和灶台,但顾客真的感知得到吗?SLO要结合错误预算和成本效益来定,目标是“够用且可持续”,而不是“最好看”。目标过高还会导致错误预算耗尽、功能冻结,反而拖慢业务。
为何常见:人们习惯把指标当KPI攀比,“越高越好”的直觉掩盖了背后的成本曲线,忽略了SLO本质是取舍工具而非荣誉榜。
误区运维团队监控、运维团队分析、运维团队出报告,开发只要按需求写代码就行。SRE的反馈报告发到群里,大家看一眼就过去了。
正解反馈循环的终点是架构改动,而架构改动必须由架构师和研发实施。SRE负责“测量与建议”,研发负责“落地与验证”,缺少任何一方循环都会断掉。就像品控发现盐放多了,但改配方的是主厨——品控不能替主厨炒菜,主厨也不能假装没看见台账。
为何常见:传统组织里运维和开发分属不同部门,职责边界固化,容易把反馈循环误解为单个团队的内部流程。
误区上来就部署全套监控系统,把CPU、内存、磁盘、网络、日志全都采集一遍,认为只要数据足够多,反馈循环就能自动高效运转。
正解指标数量不等于可观测性质量。没有映射到SLI和SLO的指标只是噪声,只会让告警疲劳、让根因定位更困难。可观测性的关键是“精准地回答用户关心的问题”,就像品控只盯出菜时长、退单率、等位超时这几个直接决定顾客满意度的数字,而不是记录每颗盐粒的消耗量。
为何常见:工具优先的采购思维让团队以为“大而全”等于“效果好”,忽略了可观测性设计的起点是指标与用户体验的对应关系。
误区新系统上线前做一次架构评审,专家点头、文档归档,就认为架构是安全的,后面再怎么变都与此无关。
正解架构评审应当持续迭代,每一轮评审都要带着最新的线上数据。系统在演进、流量在变化、故障模式也在翻新,SRE反馈循环要求架构师定期用新数据重新审视旧决策。就像餐厅的招牌菜不是定稿就完事,每个季度都要根据顾客反馈微调配方。
为何常见:把架构评审看成一次性交付物而非持续过程,源于对“评审=盖章”的流程化误解,忽略了架构与运行环境是共同演化的。
面试题
Q1. SLI(服务水平指标)在反馈循环中扮演什么角色?
- A.定义系统能容忍多少不可用时间
- B.量化用户真实体验的具体测量值← 正确答案
- C.设定团队绩效考核的唯一标准
- D.描述服务之间的调用依赖关系
答案:B。SLI是那条“出菜时长”的刻度,它量化顾客实际体验,而不是餐厅自己觉得好。A描述的是SLO的功能,C把指标当绩效是常见误区,D是服务关系图而非体验度量。故选B。
Q2. SLO达成率的计算方式是?
- A.坏事件数除以总事件数
- B.好事件数除以总事件数← 正确答案
- C.总事件数除以好事件数
- D.好事件数乘以总事件数
答案:B。SLO达成率是“好事件占总事件的比例”,就像统计按时上桌的订单占全部订单的比例。A算的是失败率,C把比例倒置了,D是乘法没有意义。只有B正确。
Q3. 从SRE实践反哺软件架构设计的核心目标是什么?
- A.减少日常运维人员的值班排班
- B.把线上运维经验转化为架构改进输入← 正确答案
- C.用自动化脚本替代全部人工操作
- D.增加监控指标来覆盖所有异常场景
答案:B。反馈循环的本质是让运维现场的经验反哺架构设计,就像品控台账帮助主厨改进菜谱。A是运维排班的优化,C是自动化目标,D是监控覆盖问题,都不是“反哺架构”的核心。故选B。
Q4. 错误预算(Error Budget)的定义是?
- A.百分之百减去SLO目标的容错额度← 正确答案
- B.系统可用时所能达到的最高性能上限
- C.每月运维团队可以安排的加班预算
- D.版本发布之前必须预留的测试时间
答案:A。错误预算=1-SLO,是团队允许的“失败额度”。就像餐厅允许每月3%的订单退单,在这个额度内可以尝试新菜。B是性能上限,C是管理概念,D是测试时间,都与可靠性目标无关。
Q5. MTTR衡量的是哪个环节的能力?
- A.平均故障发生时两次故障间的间隔
- B.故障发生之后服务恢复到正常态耗时← 正确答案
- C.请求从客户端发出到返回的端到端延迟
- D.系统在同一时间里能处理的最大请求数
答案:B。MTTR是平均修复时间,回答“坏了之后多久能救回来”。A是MTBF,C是延迟指标,D是吞吐能力。就像餐厅燃气中断后,MTTR衡量的是多久能恢复出菜,而不是多久会再断一次气。
Q6. 一个完整的SRE反馈循环通常包含哪些环节?
- A.线上观察← 正确答案
- B.根因定位← 正确答案
- C.架构改进← 正确答案
- D.效果验证← 正确答案
答案:ABCD。反馈循环四环节缺一不可:观察(监控采集信号)、定位(分析根因)、改进(架构改动上线)、验证(确认SLO恢复)。就像一条差评要经历记录、分析、改菜谱、复购验证才能算闭环。缺少任何一环,循环都会断裂。
Q7. 性能效率平衡原则的核心思想是?
- A.不惜一切代价把可靠性提升到百分百
- B.在可靠性与资源成本之间寻找最优取舍← 正确答案
- C.优先保障性能而忽略所有潜在的故障风险
- D.通过减少监控来降低系统运行的额外开销
答案:B。平衡原则强调可靠性要花在刀刃上,就像餐厅不会雇200个厨师只为把出菜时间压到极限。A忽略成本,C忽略风险,D靠牺牲可观测性省成本是舍本逐末。只有B符合“边际收益/边际成本”的判断逻辑。
Q8. 架构韧性评估中常用的“找茬”手段包括?
- A.故障注入← 正确答案
- B.混沌演练← 正确答案
- C.压力测试← 正确答案
- D.日志切割
答案:ABC。故障注入、混沌演练、压力测试都是主动制造异常考验系统的手段,相当于餐厅故意让主厨请假来测试后厨应变。日志切割只是常规运维操作,不是韧性评估手段。故选ABC。
Q9. 以下哪项最能体现“验证”环节在反馈循环中的作用?
- A.确认架构修改后线上故障率确实下降← 正确答案
- B.把所有监控告警规则重新梳理并配置
- C.提前预估下一轮线上故障的具体时间
- D.在本轮评审会上介绍改进的实施过程
答案:A。验证环节的核心是“用数据确认改进真的有效”,就像品控在改菜谱后连续几周盯着退单率。B是告警配置优化,C是预测而非验证,D只是汇报实施过程,都偏离了“确认效果”的本质。故选A。
Q10. 将SRE洞察嵌入架构设计阶段的典型做法包括?
- A.评审时强制附上SLO摘要← 正确答案
- B.将故障复盘转化为设计约束← 正确答案
- C.沉淀出可靠性检查清单← 正确答案
- D.删除旧的历史记录以简化流程
答案:ABC。嵌入设计阶段的三板斧是评审输入(SLO摘要)、设计约束(故障复盘转化)、经验沉淀(检查清单),让SRE教训成为新系统的默认配置。D删除历史记录与沉淀经验正好相反。故选ABC。