分布式系统性能恢复与追踪技术应用
1. 混沌工程与追踪技术的结合
混沌工程是一种将故障故意注入分布式系统的实践,目的是了解软件及其团队如何应对这些故障。虽然它并非严格意义上的事件响应或恢复基线性能的一部分,但能帮助我们为实际问题的发生做好准备。分布式追踪可以为解决通过这种技术发现的问题提供必要的数据。
在混沌工程中引入的故障应足够罕见,以免影响用户可见的性能。然而,这也意味着使用统一采样技术不太可能收集到注入故障的请求。为了解决这个问题,可以像处理新版本发布和其他计划变更一样,为跨度添加标签以表明故障是故意注入的,确保收集到用于分析的追踪数据。
追踪还能帮助识别注入的故障何时影响到了用户。通过查找既包含注入故障的跨度又包含带有错误的根跨度的追踪,可以发现一直传播到堆栈顶部的注入故障。一旦出现这种情况,可以立即提醒团队成员,甚至禁用此类注入故障。
2. 实时响应
与有充足时间仔细收集数据以支持决策的计划性能改进工作不同,在响应事件时,很难预测需要哪些数据,也没有足够的时间来收集。分布式追踪工具可以提供实时搜索功能,帮助我们快速了解正在发生的情况。
例如,Zipkin 提供的追踪搜索功能,可用于查找包含特定服务、延迟超过给定阈值或包含特定标签或其他元数据的追踪。通过多次搜索,还可以比较追踪,以了解它们之间的差异。
与许多日志聚合工具类似,分布式追踪工具和日志聚合工具都提供对大量诊断数据的临时搜索功能。但在大多数情况下,提供问题证据的日志很少能提供问题原因的证据。追踪不同服务的日志可能很困难,而分布式追踪工具可以轻松地将这些日志置于端到端请求的上下文中。
不同的追踪工具以不同的方式收集和存储数据
超级会员免费看
订阅专栏 解锁全文


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



