Comments (5)
Hey @idanh, thanks for the feedback.
I like the idea of having a more sophisticated circuit closing mechanism. I agree completely that using an arbitrary timer is a rather naive of doing it. My concern with letting through single test requests would be that it would return false positives, and we would close the circuit when it shouldn't be (i.e. service is still failing 70% of the time, but the test request still passes). I think we would have to allow through batches of test requests to get a good sample of the downstream service, or throttle it up as you suggested. I personally like the idea of throttling requests back up, but I am not immediately sure how it will be implemented.
I will flag this as a potential v3 enhancement. Thanks for the feedback!
-Alex
from brakes.
Hi @awolden,
Thanks for the answer!
One suggestion is to use an exponential decay on the open circuit to determine throttle rate.
Do you expect v3 to be out in the near future, or will it take a while?
Thanks!
-Idan
from brakes.
+1, Levee also has a "half open" concept.
https://github.com/krakenjs/levee/blob/master/README.md
from brakes.
@idanh There are a number of improvements that need to be made, but I don't have any immediate plans for a V3 release, it largely depends on when I have the the extra-time to really dive into it.
from brakes.
Hi, are you expecting to work on this anytime soon?
+1
from brakes.
Related Issues (20)
- nvmrc is right? HOT 2
- transpile lib? HOT 2
- Brakes modifies original error message
- Support decorator usage like in java HOT 1
- waitThreshold is too high by default HOT 1
- Update Options HOT 2
- Timing the statInterval based on bucketNum & bucketSpan HOT 2
- Do you want TypeScript types in this repo?
- Remove racist terminology
- GlobalStatsStream does not track all instances after update to Node v12.16.0 HOT 5
- Reported request count never goes down? HOT 4
- Slave circuits not working as per the examples HOT 1
- Single-arg fat arrow function breaks brakes HOT 2
- CircuitBrokenError is taking threshold as failure rate
- CPU growth HOT 6
- Adding isFailure function
- Fallbacks executions HOT 3
- Add isSuccess option?
- Runaway memory growth/CPU utilization HOT 1
- 2.6.0 breaks non-string errors HOT 9
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 brakes.