cep21 / circuit

An efficient and feature complete Hystrix like Go implementation of the circuit breaker pattern.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support Additive increase/multiplicative decrease circuits

cep21 opened this issue · comments

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.