Hystrix (https://github.com/Netflix/Hystrix) is a latency and fault tolerance library designed to isolate points of access to remote systems, services, and third-party libraries, stop cascading failures; and enable resilience in complex distributed systems where failure is inevitable.
Hystrix is designed to do the following:
- Stop failure cascades in a complex distributed system
- Protect the system from the failures of dependencies over the network
- Control the latency of the system
- Recover rapidly and fail faster to prevent cascading
- Fall back and gracefully degrade when possible
- Enable near-real-time monitoring, alerting, and operational control
Applications in complex distributed architectures have a lot of dependencies, each of which will inevitably fail at some point. If the host application is not isolated from these external failures, it risks being taken down with them.