ITSE21-Fault Analysis and Debugging of Microservice Systems: Industrial Survey, Benchmark System,and Empirical Study
微服务系统的故障分析和调试: 行业调查,基准系统和经验研究
- 注:本文网络上有中文译文
摘要
已有微服务故障分析和调试的研究有限
做了如下工作
- 进行一项行业调查,了解微服务的典型故障和调试挑战
- 开发一个中等规模的微服务benchmark,复制了22个行业故障案例
- 实证研究,调查现有行业调试的有效性
- 提出调试的一些改进方法
结果
- 结果表明,通过采用适当的路径跟踪和可视化技术与策略,可以改善微服务调
试的当前行业实践
- 结果表明,通过采用适当的路径跟踪和可视化技术与策略,可以改善微服务调
关键词
- 微服务, 故障定位, 路径跟踪,可视化,调试
引言
- 迫切需要解决架构挑战,例如处理异步通信,级联故障,数据一致性问题,发
现和微服务认证 - 理解和调试分布式系统的基本有效方法是路径跟踪和可视化系统执行。
背景
- 微服务的独特特性给现有的调试技术带来了挑战
- 现有的调试技术,断点,难以应用于微服务
- 现有的故障定位技术,基于切片或者频谱
行业调查
来自 12 家公司的 16 名参与者带来了他们正在或已经在使用的 13 种微服务系统的反馈
故障案例
22个故障案例
- 功能故障会引发错误或产生错误的结果
- 非功能性故障会影响服务质量,例如性能和可靠性。
- 内部故障、交互故障
调试
调试步骤
- IU、ES、FR、FI、FS、FL
调试技术
- 日志分析
- 可视化日志分析
- 可视化路径跟踪分析 – Dynatrace和Ziplin…
基准系统和故障案例复制
- Trainticket
- 复制以上22个故障案例到trainticket中
实证研究
使用以上调试技术进行调试
定性分析
定量分析
- 对每个错误进行发现调试,统计每种调试技术的每个调试步骤的花费时间
通过改进的路径跟踪可视化进行调试
通过将路径跟踪日志转换为 ShiViz 的日志格式,利用 ShiViz 来可视化微服务的路径跟踪
- ShiViz:路径可视化调试工具
提出两种可视化策略
- 微服务作为节点(服务级别分析)
- 服务状态作为节点(状态界别分析) – 基于预定义的变量、表达式确定
提出新的调试方法
路径对比调试
原理:错误的路径与成功路径中的不同部分,与另一个故障跟踪共享
结果
- 进一步提高调试效率
ITSE21-Fault Analysis and Debugging of Microservice Systems: Industrial Survey, Benchmark System,and Empirical Study