Comments (6)
Basically you should create a circuit breaker instance not for each host but for each service. If some part of hosts cannot work due to system failure, you should reduce the load of the remaining hosts.
from gobreaker.
In case of memory and cpu utilization does this is cheap?
from gobreaker.
By gobreaker, you can suppress requests that are likely to fail and avoid the waste of CPU and memory resources.
from gobreaker.
thanks for help. Last question - how to ignore specific errors for example 404 and 403 error codes does not mean error in service. So i don't want to block it, but may be i want to block only 50x and 408... ?
from gobreaker.
CircuitBreaker can wrap any function to send a request.
https://github.com/sony/gobreaker/blob/master/gobreaker.go#L197
You can ignore specific errors in req func() (interface{}, error)
.
from gobreaker.
thanks, I'm use two-step broker variant.
from gobreaker.
Related Issues (20)
- start a new release? HOT 1
- println -> printf HOT 1
- [question/proposal] Monitoring
- Why don't use a rolling window to maintain the counts? HOT 4
- Where's the option for fallback function? HOT 5
- Create a new release for module support HOT 2
- Does this really require go 1.12? HOT 4
- race conditions HOT 1
- Confusion about ErrTooManyRequests error HOT 4
- May I request a new release with tag HOT 2
- It will cause a deadlock when call breaker.Counts() method in the OnStateChange() method HOT 3
- breaker per url HOT 1
- example: HTTP circuit breaker doesn't consider HTTP status codes which are more indicative of retryable errors HOT 1
- Reproducing "too many requests"
- Circuitbreaker not performing MaxRequests operations in Half-open state HOT 3
- is circuit breaker threadsafe? HOT 1
- [question] is it really necessary to abort underlying http request when timeout? HOT 1
- Tag SemVer releases? HOT 2
- Exported type for errors HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gobreaker.