A Dropwizard module that integrates Hystrix for building resilient REST services with circuit breakers and fallbacks.
Tenacity is a Dropwizard module that integrates Netflix's Hystrix library to add resiliency patterns like circuit breakers, fallbacks, and bulkheads to REST services. It simplifies Hystrix configuration within Dropwizard applications, helping prevent cascading failures and improve system reliability.
Java developers building production-grade REST services with Dropwizard who need to implement fault tolerance and graceful degradation in distributed systems.
Developers choose Tenacity because it provides a clean, Dropwizard-native way to leverage Hystrix's proven resiliency patterns without the configuration overhead, with built-in testing support and integration with Dropwizard's metrics and configuration systems.
Dropwizard + Hystrix Module.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses Dropwizard bundles for bootstrapping and YAML configuration, making it idiomatic within the ecosystem, as shown in the bundle setup examples and resource endpoints under /tenacity.
Includes TenacityTestRule that resets Hystrix static state and accelerates metric updates, enabling reliable unit testing of circuit breaker logic without interference from previous runs.
Integrates with Breakerbox for real-time visualization and on-the-fly updates to circuit breaker settings, reducing mean-time-to-recovery, as highlighted in the configuration hierarchy.
Provides ExceptionLoggingCommandHook to handle exceptions across all TenacityCommands, improving debuggability with configurable ExceptionLogger implementations for specific error types.
Relies on Netflix's Hystrix, which is no longer actively maintained, posing risks for long-term support, security updates, and compatibility with newer Java versions or frameworks.
Requires multiple steps: defining enum keys, creating factory classes, and configuring bundles, which can be error-prone and overwhelming for developers new to Dropwizard or Hystrix.
Exclusively designed for Dropwizard; migrating to other frameworks like Spring Boot would necessitate a complete rewrite of resiliency logic, creating vendor lock-in.