SequenceFI:微服务系统的非侵入式时间故障注入
SequenceFI: Non-intrusive Temporal Fault Injection for Microservice Systems
浏览论文内容
中文总结 AI 辅助
研究针对微服务系统时间故障注入难题,提出SequenceFI框架,通过观察消息级事件、传播时间证据及合成时间保护触发故障,在Kubernetes上实现并评估,有效提升时间成功率,减少搜索时间。
中文摘要 AI 辅助
故障注入广泛用于评估微服务系统的弹性,现有请求级技术难以重现时间相关故障。本文提出SequenceFI,一个微服务系统中用于时间故障注入的非侵入式框架。它观察消息级收发事件,沿请求执行传播紧凑时间证据,仅在满足时间保护条件时触发故障。还从跟踪中合成时间保护,减少故障注入配置穷举需求。在Kubernetes上实现并在四个微服务基准测试中评估,结果显示在九个时间故障场景和450次有效试验中,它实现了100.0%的时间成功率,平均一次尝试就能找到有效配置,与H - Random相比,聚合端到端搜索时间减少了95.91%。
英文摘要
Fault injection is widely used to evaluate the resilience of microservice systems, where client requests often span multiple services and execution stages. Existing request-level techniques usually control where and what faults are injected, but not when they are activated within a distributed execution. This limitation makes it difficult to reproduce timing-dependent failures, such as failures after state-changing side effects, order-sensitive concurrent responses, and partial failures among repeated downstream calls. This paper presents SequenceFI, a non-intrusive framework for temporal fault injection in microservice systems. SequenceFI observes message-level send and receive events, propagates compact temporal evidence along request executions, and triggers faults only when occurrence-sensitive temporal guards are satisfied. It further synthesizes temporal guards from traces, reducing the need for exhaustive enumeration of temporal fault-injection configurations, while requiring no modifications to application code or serialization libraries. We implement SequenceFI on Kubernetes and evaluate it on four widely used microservice benchmarks. Across nine temporal-fault scenarios and 450 valid trials, SequenceFI achieves 100.0\% temporal success without premature or multiple injections, finds effective configurations in one attempt on average, and reduces aggregate end-to-end search time by 95.91\% compared with H-Random.