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
afex avatar

afex/hystrix-go

0
View on GitHub↗
4,418 stars·483 forks·Go·MIT·19 views

Hystrix Go

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 to unresponsive services.

The project covers a broad range of traffic management and stability capabilities, including concurrent request limiting to prevent resource exhaustion and the execution of alternative logic paths when primary services fail. It also provides mechanisms for service latency management and the aggregation of request counts and latencies.

Features

  • Cascading Failure Preventions - Prevents failures in one service from triggering a domino effect across the system using the circuit breaker pattern.
  • Resilience and Fault Tolerance - Provides a library of resilience patterns and fault-tolerance tools for building stable Go services.
  • Circuit Breakers - Blocks requests to unhealthy remote services by monitoring failure rates to prevent cascading failures.
  • Fault-Tolerant Fallbacks - Provides logic to return default or stubbed responses when a primary remote service call fails or times out.
  • Fault Tolerance Implementation - Implements design patterns that ensure system continuity and prevent a single dependency failure from crashing the application.
  • Request Timeout Management - Enforces strict maximum durations for remote calls using timers to trigger failure states and maintain responsiveness.
  • Service Latency Controls - Controls the maximum wait time for remote responses to maintain a responsive user experience.
  • Circuit Breaking States - Implements a state machine to manage service availability states like closed, open, and half-open based on failure rates.
  • Service Call Fallbacks - Provides a secondary logic path to execute when the primary remote service is unavailable or times out.
  • Request Isolation - Uses separate goroutines to isolate remote calls, preventing a single slow service from blocking the entire system.
  • Concurrency Semaphores - Uses counting semaphores to limit the number of simultaneous active requests to prevent resource exhaustion.
  • Service Overload Protections - Implements active resilience patterns like circuit breakers and rate limiters to protect remote systems from overloading.
  • Concurrent Request Limits - Restricts the absolute number of simultaneous active requests to ensure system stability.
  • External Service Monitoring - Tracks the health and performance of third-party API dependencies through real-time metrics.
  • Metrics Exports - Aggregates internal request counts and latencies for export to external monitoring tools.
  • Service Health Metrics Streaming - Streams real-time latency, error rates, and circuit states to external monitoring dashboards.
  • General Utilities - Hystrix-style fallback and circuit breaking.
  • General Utility Libraries - Implementation of Hystrix-style fallback mechanisms.

Star history

Star history chart for afex/hystrix-goStar history chart for afex/hystrix-go

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 Go

Similar open-source projects, ranked by how many features they share with Hystrix Go.
  • failsafe-lib/failsafefailsafe-lib avatar

    failsafe-lib/failsafe

    4,307View on GitHub↗

    Failsafe is a JVM fault tolerance library and resilience pattern framework. It provides a toolkit for implementing circuit breakers, rate limiters, and other stability patterns within Java Virtual Machine applications to prevent cascading failures in distributed systems. The project is distinguished by its policy-based execution pipeline, which allows for the composition of multiple resilience patterns into a sequential flow. It features a state-machine circuit breaker to manage service recovery and a leaky-bucket rate limiter to control operation frequency. The library covers a broad range

    Javabulkheadcircuit-breakerfallback
    View on GitHub↗4,307
  • 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
  • netflix/hystrixNetflix avatar

    Netflix/Hystrix

    24,461View on GitHub↗

    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 t

    Java
    View on GitHub↗24,461
  • easegress-io/easegresseasegress-io avatar

    easegress-io/easegress

    5,871View on GitHub↗

    Easegress is a cloud-native traffic orchestration platform that functions as a multi-protocol API gateway and service mesh proxy. It routes, transforms, and orchestrates HTTP and MQTT traffic through configurable filter chains, providing high availability, security controls, and resilience for backend services. The platform integrates with service discovery systems like Kubernetes, Consul, and Eureka to dynamically route traffic to discovered services with automatic failover and health monitoring. The system distinguishes itself through a pipeline-based filter chain architecture where request

    Goapi-gatewaycloud-nativedistributed-systems
    View on GitHub↗5,871
See all 30 alternatives to Hystrix Go→

Frequently asked questions

What does afex/hystrix-go do?

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.

What are the main features of afex/hystrix-go?

The main features of afex/hystrix-go are: Cascading Failure Preventions, Resilience and Fault Tolerance, Circuit Breakers, Fault-Tolerant Fallbacks, Fault Tolerance Implementation, Request Timeout Management, Service Latency Controls, Circuit Breaking States.

What are some open-source alternatives to afex/hystrix-go?

Open-source alternatives to afex/hystrix-go include: failsafe-lib/failsafe — Failsafe is a JVM fault tolerance library and resilience pattern framework. It provides a toolkit for implementing… jhalterman/failsafe — Failsafe is a JVM resilience library providing a collection of fault tolerance patterns for Java applications. It… netflix/hystrix — Hystrix is a latency and fault tolerance library designed to prevent cascading failures in distributed systems. It… easegress-io/easegress — Easegress is a cloud-native traffic orchestration platform that functions as a multi-protocol API gateway and service… alibaba/sentinel — Sentinel is a microservice flow control framework designed for managing traffic limits, distributed circuit breaking,… resilience4j/resilience4j — Resilience4j is a fault tolerance library for Java 8 applications designed to handle failures in distributed systems.…