Support Additive increase/multiplicative decrease circuits
cep21 opened this issue · comments
Jack Lindamood commented
https://en.wikipedia.org/wiki/Additive_increase/multiplicative_decrease
This will probably be a different github repository (for semantic versioning sanity), but I'll link it from here.
This will only be a OpenToClosed
https://github.com/cep21/circuit/blob/v3.0.0/v3/closers.go#L22 (When to open a circuit is independent).
It will adaptively return true for Allow(now time.Time) bool
at a high rate, then less and less (as errors happen) and more and more (as errors go away) and will eventually return ShouldClose(now time.Time) bool
as true when some threshold of healthy requests is met.