A latency and fault tolerance library for isolating remote system access and preventing cascading failures in distributed systems.
Hystrix is a Java library designed to enhance the resilience of distributed systems by managing latency and faults. It isolates points of access to remote systems, services, and third-party libraries to stop cascading failures and enable graceful degradation. The library implements circuit breakers, fallbacks, and real-time monitoring to maintain system stability when dependencies fail.
Java developers building microservices or distributed systems that rely on remote calls and external dependencies, particularly those in environments where service failures are inevitable and need to be contained.
Developers choose Hystrix for its comprehensive approach to fault tolerance, including automatic circuit breaking, thread isolation, and real-time operational control. It provides a proven pattern for preventing localized issues from bringing down entire systems, with built-in support for fallbacks, caching, and monitoring.
Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable.
Implements thread and semaphore isolation with circuit breakers to automatically fail fast and prevent cascading failures, as detailed in the latency and fault tolerance features.
Provides real-time monitoring and configuration changes, allowing immediate adjustments across service fleets to respond to issues quickly.
Supports parallel execution, concurrency-aware request caching, and automated batching through request collapsing, optimizing performance in distributed systems.
Widely used and tested at Netflix for years, offering a stable and battle-tested solution for fault tolerance in Java applications.
Hystrix is no longer in active development, with Netflix focusing on newer projects like resilience4j, leading to limited updates and reduced community support.
Requires wrapping code in HystrixCommand objects, adding boilerplate and complexity compared to more modern, annotation-driven approaches in newer libraries.
Primarily designed for synchronous and asynchronous calls, with less native integration for reactive programming paradigms popular in contemporary microservices.
Setting up circuit breakers, thread pools, and other parameters requires careful tuning, which can be error-prone and time-consuming for developers.
Google core libraries for Java
A virtual machine for executing programs written in Hack.
FoundationDB - the open source, distributed, transactional key-value store
C# application with primary purpose of farming Steam cards from multiple accounts simultaneously.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.