All Projects → Travix-International → Hystrix.Dotnet

Travix-International / Hystrix.Dotnet

Licence: MIT License
A combination of circuit breaker and timeout. The .net version of the open source Hystrix library built by Netflix.

Programming Languages

C#
18002 projects
shell
77523 projects

Projects that are alternatives of or similar to Hystrix.Dotnet

Sample Camel Spring Boot
three samples in different branches that illustrates usage of apache camel as microservice framework providing integration with consul, hystrix, ribbon and other tools
Stars: ✭ 24 (-72.73%)
Mutual labels:  hystrix, circuit-breaker
yato
A node module similar to hystrix. Who caused riots - cut it!
Stars: ✭ 12 (-86.36%)
Mutual labels:  hystrix, circuit-breaker
Opossum
Node.js circuit breaker - fails fast ⚡️
Stars: ✭ 473 (+437.5%)
Mutual labels:  hystrix, circuit-breaker
Brakes
Hystrix compliant Node.js Circuit Breaker Library
Stars: ✭ 255 (+189.77%)
Mutual labels:  hystrix, circuit-breaker
gobreak
Latency and fault tolerance library like Netflix's Hystrix with prometheus and gobreaker.
Stars: ✭ 42 (-52.27%)
Mutual labels:  hystrix, circuit-breaker
spring-microservices
Spring Cloud Micro Services with Eureka Discovery, Zuul Proxy, OAuth2 Security, Hystrix CircuitBreaker, Sleuth Zipkin, ELK Stack Logging, Kafka, Docker and many new features
Stars: ✭ 114 (+29.55%)
Mutual labels:  hystrix, circuit-breaker
Heimdall
An enhanced HTTP client for Go
Stars: ✭ 2,132 (+2322.73%)
Mutual labels:  hystrix, circuit-breaker
pyhystrix
Hystrix brought to Python
Stars: ✭ 21 (-76.14%)
Mutual labels:  hystrix, circuit-breaker
microservices-developer-roadmap
Roadmap for becoming a Microservice Developer in 2017
Stars: ✭ 24 (-72.73%)
Mutual labels:  hystrix, circuit-breaker
Connectors
Connectors simplify connecting to standalone and CloudFoundry services
Stars: ✭ 28 (-68.18%)
Mutual labels:  hystrix, circuit-breaker
clj-http-hystrix
A Clojure library to wrap clj-http requests as hystrix commands
Stars: ✭ 21 (-76.14%)
Mutual labels:  hystrix, circuit-breaker
resilience4clj-circuitbreaker
Resilience4Clj circuit breaker lets you decorate a function call (usually with a potential of external failure) with a safety mechanism to interrupt the propagation of failures.
Stars: ✭ 40 (-54.55%)
Mutual labels:  metrics, circuit-breaker
laracom
laracom driven by go micro services
Stars: ✭ 37 (-57.95%)
Mutual labels:  hystrix
chia-monitor
🍃 A comprehensive monitoring and alerting solution for the status of your Chia farmer and harvesters.
Stars: ✭ 131 (+48.86%)
Mutual labels:  metrics
opencensus telemetry
Opencensus integration with Telemetry library
Stars: ✭ 18 (-79.55%)
Mutual labels:  metrics
grafana-dashboard-dsl
DSL for generating Grafana dashboards
Stars: ✭ 51 (-42.05%)
Mutual labels:  metrics
twitter-analytics-wrapper
A simple Python wrapper to download tweets data from the Twitter Analytics platform. Particularly interesting for the impressions metrics that are unavailable on current Twitter API. Also works for the videos data.
Stars: ✭ 44 (-50%)
Mutual labels:  metrics
disent
🧶 Modular VAE disentanglement framework for python built with PyTorch Lightning ▸ Including metrics and datasets ▸ With strongly supervised, weakly supervised and unsupervised methods ▸ Easily configured and run with Hydra config ▸ Inspired by disentanglement_lib
Stars: ✭ 41 (-53.41%)
Mutual labels:  metrics
s3 exporter
Exports Prometheus metrics about S3 buckets and objects
Stars: ✭ 65 (-26.14%)
Mutual labels:  metrics
Home
This is the old home for the Steeltoe project. Please refer to the SteeltoeOSS/steeltoe repository moving forward.
Stars: ✭ 49 (-44.32%)
Mutual labels:  circuit-breaker

Hystrix.Dotnet

A combination of circuit breaker and timeout. The .NET version of the open source Hystrix library built by Netflix.

Build Status .NET Version Coverage Status License

Why?

In order to isolate failure in one dependency from taking down another component. Whenever the circuit breaker opens it returns an exception or runs the fallback without burdening the failing system. It sends through a single request on a regular interval to see if the dependent system is back in business.

How to use

Circuit breakers are the main concept in Hystrix, and they are identifyable by a group and command key, which are arbitrary strings to support structuring and organizing the various circuit breakers we have in our application. Every circuit breaker can have its own configuration regarding its timeout, fallback mechanism, error threshold, etc.

Once we have a reference to a circuit breaker (represented by the IHystrixCommand interface), we can execute an operation through it using either the synchronous version:

T result = hystrixCommand.Execute<T>(() => myFunctionWithReturnTypeT());

Or use the async version:

T result = await hystrixCommand.ExecuteAsync<T>(() => myAsyncFunctionWithReturnTypeTaskT());

In the documentation you can find more examples, and details about creating commands and customizing the configuration.

Sample projects

In the samples directory you can find an example project illustrating the configuration of Hystrix for ASP.NET and ASP.NET Core.

Known issues

Unlike the original Hystrix implementation, the current .Net implementation doesn't use a way to limit the maximum number of concurrent requests per command. Using the ExecuteAsync method will make efficient use of the threadpool, so it's not entirely clear whether it will give us any benefits.

Neither are retries implemented at this moment.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].