In a distributed environment, failure of any given service is inevitable. Hystrix is a library designed to control the interactions between these distributed services providing greater latency and fault tolerance.
As of November 2018 Hystrix is officially in maintenance mode. New adaptors are encouraged to seek more modern alternatives, such as resilience4j.
Purpose of Hystrix
- Give protection from and control over latency and failure from dependencies (typically accessed over network) accessed via 3rd party client libraries.
- Stop cascading failures in a complex distributed system.
- Fail fast and rapidly recover.
- Fallback and gracefully degrade when possible.
- Enable near real-time monitoring, alerting and operational control.