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访问。