gobreaker
heimdall
gobreaker | heimdall | |
---|---|---|
4 | 4 | |
2,762 | 2,559 | |
0.9% | 0.4% | |
4.1 | 0.0 | |
2 days ago | 15 days ago | |
Go | Go | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gobreaker
-
Choosing dependencies using deps.dev
sony/gobreaker
-
gobreaker VS hystrix-go - a user suggested alternative
2 projects | 4 May 2022
-
how to use a circuit breaker on Kubernetes
As far as I know most circuit breakers are not a stand alone process, but either part of a service mesh like istio https://istio.io/latest/docs/tasks/traffic-management/circuit-breaking/ or part of the service. Spring for example has an abstraction called Spring Cloud Circuit breaker https://spring.io/projects/spring-cloud-circuitbreaker . There are several implementations in Go, e.g. https://github.com/sony/gobreaker or https://github.com/mercari/go-circuitbreaker
-
CircuitBreaker Pattern in Go
GitHub - sony/gobreaker: Circuit Breaker implemented in Go
heimdall
-
Heimdall hystrix circuit breaking
I would suggest reading the code for the hystrix part: https://github.com/gojek/heimdall/tree/master/hystrix It is not very complex, but I see things like error threshold, so it might already be doing what you want.
- Any http client framework?
-
Can you share some Go package that you think has high quality clean code?
Heimdall HTTP Client
What are some alternatives?
hystrix-go - Netflix's Hystrix latency and fault tolerance library, for Go
go-http-client - An enhanced and lightweight http client for Golang
go-zero - A cloud-native Go microservices framework with cli tool for productivity.
fasthttp - Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http
examples
resty - Simple HTTP and REST client library for Go
traefik - The Cloud Native Application Proxy
contact - Retryable HTTP client in Go.
go-circuitbreaker - A context aware circuit breaker library in Go.
req - Simple Go HTTP client with Black Magic
istio - Connect, secure, control, and observe services.
httpretry - Enriches the standard go http client with retry functionality.