awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
Netflix avatar

Netflix/Hystrix

0
View on GitHub↗
24,461 stars·4,693 forks·Java·15 views

Hystrix

Hystrix is a latency and fault tolerance library designed to prevent cascading failures in distributed systems. It functions as a circuit breaker implementation that monitors failure thresholds and opens circuits to isolate remote calls when downstream services degrade.

The project distinguishes itself by providing multiple isolation mechanisms, utilizing dedicated thread pools and semaphores to ensure that latency in one dependency does not saturate the entire system. It also features a request collapsing and batching engine that groups concurrent calls into single executions to reduce the total load on downstream services.

Broad capabilities include the definition of fallback behavior for graceful degradation, request-scoped result caching, and reactive command execution through asynchronous data streams. The framework also provides real-time service health monitoring by streaming latency and error metrics to dashboards.

Features

  • Circuit Breakers - Implements circuit breakers that stop traffic to failing services to prevent cascading failures in distributed systems.
  • Request Batching - Groups multiple concurrent calls into a single batch execution to reduce the total load on downstream systems.
  • Dependency-Specific Thread Pools - Assigns each remote dependency to a dedicated thread pool to prevent latency in one service from saturating the system.
  • Semaphore-Based Isolation - Assigns commands to dedicated thread pools or semaphores to isolate dependency latency.
  • Dependency-Isolated - Uses dedicated thread pools to prevent latency in one dependency from saturating the entire system.
  • Cascading Failure Preventions - Prevents cascading failures by isolating remote calls and providing fallback logic when downstream services fail.
  • Semaphore-Based Command Isolation - Limits concurrent execution of non-network commands using semaphores to avoid thread management overhead.
  • Fault-Tolerant Fallbacks - Returns a default or stubbed response when a primary command fails, times out, or is rejected.
  • Service Call Fallbacks - Provides logic that returns default responses or alternative behaviors when a remote service call fails.
  • Fault Tolerance - Wraps potentially failing remote calls in command objects to isolate latency and provide fallback logic.
  • Fault Tolerance Implementation - Uses thread pools and semaphores to isolate dependencies, ensuring latency in one service does not saturate the system.
  • Command-Based Fault Isolation - Wraps potentially failing remote calls in command objects that isolate latency and handle timeouts gracefully.
  • Graceful Degradation - Implements architectural patterns for ensuring system stability through graceful degradation and fallback logic during partial failures.
  • Request Batching - Combines multiple individual requests into a single execution to reduce the total number of remote calls.
  • Circuit Breaking States - Manages service availability states like closed, open, and half-open based on failure rates to isolate failing services.
  • Cascading Failure Prevention - Prevents cascading failures using circuit breakers and isolation mechanisms to ensure graceful degradation when external services fail.
  • Collapsing Batch Requests - Runs multiple remote calls concurrently while caching identical requests and collapsing them into a single batch.
  • Request-Scoped Caching - Stores remote call results per request context to prevent redundant network calls within a single request.
  • Parallel Provider Calls - Invokes multiple service providers simultaneously to reduce total response latency and improve throughput.
  • Service Health Monitoring - Tracks and reports on the operational status and performance metrics of internal application services.
  • Asynchronous Command Execution - Queues dependency calls for asynchronous execution, returning a future to retrieve results without blocking the calling thread.
  • Non-Blocking Execution - Implements non-blocking execution patterns to handle long tasks without freezing the main execution thread.
  • Request Collapsing - Ensures only one concurrent request fetches data for a missing key while others await the result.
  • Concurrency Optimizers - Optimizes throughput by executing requests in parallel and collapsing concurrent calls into single batches.
  • Synchronous Command Execution - Executes commands and blocks the calling thread until a result or exception is returned.
  • Metric Streaming - Models performance data as a real-time stream for off-box aggregation without blocking execution threads.
  • Real-Time Monitoring Dashboards - Streams latency, error rates, and circuit states to real-time dashboards to reflect system health.
  • Service Health Metrics Streaming - Streams real-time latency and error metrics to dashboards for immediate visibility into distributed system health.
  • Service Health Monitoring - Tracks operational status and health of internal services through streaming latency and error metrics.
  • Command Result Observables - Exposes the results of wrapped remote calls as observables, allowing non-blocking asynchronous reactions to emitted values.
  • Reactive Stream Libraries - Wraps remote calls as asynchronous data streams to enable non-blocking reactions to values and errors.
  • Distributed Applications - Library for latency and fault tolerance in remote systems.
  • Reliability And Chaos - Fault tolerance library for isolating remote service access points.

Star history

Star history chart for netflix/hystrixStar history chart for netflix/hystrix

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Hystrix

Similar open-source projects, ranked by how many features they share with Hystrix.
  • doocs/advanced-javadoocs avatar

    doocs/advanced-java

    78,987View on GitHub↗

    This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency design, distributed systems, and microservices architecture. It provides detailed strategies for decomposing monolithic applications, managing service discovery, and implementing the architectural patterns required for scalable backend environments. The repository distinguishes itself through an extensive collection of big data algorithmic references and database scaling strategies. It covers memory-efficient techniques for analyzing massive datasets, such as Top-K element extrac

    Javaadvanced-javadistributed-search-enginedistributed-systems
    View on GitHub↗78,987
  • afex/hystrix-goafex avatar

    afex/hystrix-go

    4,418View on GitHub↗

    This is a fault tolerance library for Go designed to prevent cascading failures by isolating unhealthy remote services using the circuit breaker pattern. It serves as a resilience tool for managing request timeouts, defining fallback logic, and protecting remote systems from overloading. The library differentiates itself through the integration of a health metrics exporter that streams real-time performance and status data of remote connections to external monitoring tools. It combines this observability with a circuit breaker state machine that tracks success and failure rates to block calls

    Go
    View on GitHub↗4,418
  • jhalterman/failsafejhalterman avatar

    jhalterman/failsafe

    4,307View on GitHub↗

    Failsafe is a JVM resilience library providing a collection of fault tolerance patterns for Java applications. It functions as an asynchronous execution wrapper that runs tasks in the background and returns futures to prevent thread blocking. The library allows for the composition of resilience policies, enabling multiple patterns to be stacked into a sequential pipeline. It includes specific implementations for circuit breaking to prevent system overload, rate limiting to control traffic flow, and a framework for managing retries and fallbacks. Capability areas cover traffic management thro

    Java
    View on GitHub↗4,307
  • alibaba/sentinelalibaba avatar

    alibaba/Sentinel

    23,126View on GitHub↗

    Sentinel is a microservice flow control framework designed for managing traffic limits, distributed circuit breaking, and adaptive overload protection. It serves as a traffic shaping component that defines resource boundaries to regulate request flow and ensure reliability across distributed systems. The project provides a real-time monitoring dashboard for tracking resource metrics and performance bottlenecks across service clusters. It includes a visual interface for the real-time management of flow control and circuit breaking rules, allowing parameters to be updated without restarting the

    Java
    View on GitHub↗23,126
See all 30 alternatives to Hystrix→

Frequently asked questions

What does netflix/hystrix do?

Hystrix is a latency and fault tolerance library designed to prevent cascading failures in distributed systems. It functions as a circuit breaker implementation that monitors failure thresholds and opens circuits to isolate remote calls when downstream services degrade.

What are the main features of netflix/hystrix?

The main features of netflix/hystrix are: Circuit Breakers, Request Batching, Dependency-Specific Thread Pools, Semaphore-Based Isolation, Dependency-Isolated, Cascading Failure Preventions, Semaphore-Based Command Isolation, Fault-Tolerant Fallbacks.

What are some open-source alternatives to netflix/hystrix?

Open-source alternatives to netflix/hystrix include: doocs/advanced-java — This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency… afex/hystrix-go — This is a fault tolerance library for Go designed to prevent cascading failures by isolating unhealthy remote services… jhalterman/failsafe — Failsafe is a JVM resilience library providing a collection of fault tolerance patterns for Java applications. It… alibaba/sentinel — Sentinel is a microservice flow control framework designed for managing traffic limits, distributed circuit breaking,… failsafe-lib/failsafe — Failsafe is a JVM fault tolerance library and resilience pattern framework. It provides a toolkit for implementing… resilience4j/resilience4j — Resilience4j is a fault tolerance library for Java 8 applications designed to handle failures in distributed systems.…