中文

我的微服务能容忍不可靠的数据库吗?基于故障注入和可视化的弹性测试

软件工程 2024-04-05 v2

摘要

在微服务应用中,确保数据库或服务中断期间的弹性构成重大挑战。虽然已有多种工具解决服务故障的弹性测试,但在专门针对数据库故障弹性测试的工具方面存在显著空白。为填补这一空白,我们开发了一个用于数据库客户端故障注入的扩展,并将其集成到Filibuster中,Filibuster是一个用于微服务应用中服务故障注入的现有工具。我们的工具系统地模拟数据库中断,从而实现对应用弹性的全面测试和评估。它功能多样,支持多种SQL和NoSQL数据库系统,如Redis、Apache Cassandra、CockroachDB、PostgreSQL和DynamoDB。一个显著特点是它在开发阶段的集成,并辅以IntelliJ IDE插件,为开发者提供注入故障的类型、位置和影响的可视化反馈。该工具功能的视频演示可在https://youtu.be/bvaUVCy1m1s获取。

关键词

引用

@article{arxiv.2404.01886,
  title  = {Can My Microservice Tolerate an Unreliable Database? Resilience Testing with Fault Injection and Visualization},
  author = {Michael Assad and Christopher Meiklejohn and Heather Miller and Stephan Krusche},
  journal= {arXiv preprint arXiv:2404.01886},
  year   = {2024}
}