混沌工程的可观测性与投资回报率
1. 可观测性:机遇所在
进行混沌工程实验,不仅需要在故障注入基础设施上投入,还需要在可观测性基础设施上投入。毕竟,如果无法观察到系统“燃烧”的过程,那么点燃它又有什么意义呢?在很多情况下,用于判断测试组是否偏离稳定状态的机制,也可以用来解释测试组中的单个请求是如何在实验引入的故障下仍能成功执行的。
1.1 调用图跟踪
调用图跟踪可以通过揭示通信的因果链,解释单个分布式系统的执行情况。如今,大多数请求级别的分布式跟踪基础设施都大致基于2010年谷歌发布的Dapper设计。到2012年,Twitter的工程师实现了一个名为Zipkin的开源版本;到2015年,Zipkin的克隆版本已经在许多基于微服务的组织中广泛使用(例如Netflix的Salp、Uber的Jaeger)。如今,OpenTracing为调用图跟踪提供了一个开放标准。
1.2 常见用例
拥有调用图跟踪系统的组织中,站点可靠性工程师(SRE)和开发人员通常对其潜在用例的认识较为局限,常见用例如下:
- 诊断异常执行 :调用图用于诊断异常执行中出现的问题,例如,了解某个特定请求失败或完成时间比平均时间长得多的原因。这并不奇怪,因为Dapper的开发初衷就是诊断谷歌搜索大规模扇出中的尾部延迟问题,而监控基础设施提供的聚合指标无法很好地解决这个问题。
- 人工使用 :调用图由人类终端用户使用(这是一个人机交互问题),因此超出了自动化的范围。最近有很多工作致力于改进调用图的可视化,但对其进行批量分析的工作却很少。
然而,这些用例只是挖
超级会员免费看
订阅专栏 解锁全文

52

被折叠的 条评论
为什么被折叠?



