In microservice applications, ensuring resilience during database or service disruptions constitutes a significant challenge. While several tools address resilience testing for service failures, there is a notable gap in tools specifically designed for resilience testing of database failures. To bridge this gap, we have developed an extension for fault injection in database clients, which we integrated into Filibuster, an existing tool for fault injection in services within microservice applications. Our tool systematically simulates database disruptions, thereby enabling comprehensive testing and evaluation of application resilience. It is versatile, supporting a range of both SQL and NoSQL database systems, such as Redis, Apache Cassandra, CockroachDB, PostgreSQL, and DynamoDB. A defining feature is its integration during the development phase, complemented by an IntelliJ IDE plugin, which offers developers visual feedback on the types, locations, and impacts of injected faults. A video demonstration of the tool's capabilities is accessible at https://youtu.be/bvaUVCy1m1s.
翻译:在微服务应用中,确保数据库或服务中断期间的韧性构成了一项重大挑战。尽管已有多种工具用于服务故障的韧性测试,但在专门针对数据库故障进行韧性测试的工具方面仍存在显著空白。为弥补这一空白,我们开发了一个用于数据库客户端故障注入的扩展,并将其集成至Filibuster(一种用于微服务应用中服务故障注入的现有工具)中。我们的工具能够系统化地模拟数据库中断,从而实现对应用韧性的全面测试与评估。该工具具有通用性,支持多种SQL和NoSQL数据库系统,如Redis、Apache Cassandra、CockroachDB、PostgreSQL及DynamoDB。其核心特性在于开发阶段的集成能力,辅以IntelliJ IDE插件,为开发者提供关于注入故障类型、位置及影响的可视化反馈。该工具功能的视频演示可访问以下链接获取:https://youtu.be/bvaUVCy1m1s。