recommend fallback policy
cache <- circuit <- retry <- runner
when error happened from runner, retry it firstly
runner
retry
if retry finally failed, the circuit breaker will open, later requests in a duration will not be executed, and just throw the temp not available error
circuit breaker
temp not available error
if the circuit is open, cache will catch the error, and try to get value from previous successful cache
circuit
cache
if there is no successful cache before, throw the original error (maybe wrapper with [[TemporaryUnAvailableError]]) directly
5.15.0
recommend fallback policy
cache <- circuit <- retry <- runner
when error happened from
runner
,retry
it firstlyif
retry
finally failed, thecircuit breaker
will open, later requests in a duration will not be executed, and just throw thetemp not available error
if the
circuit
is open,cache
will catch the error, and try to get value from previous successfulcache
if there is no successful cache before, throw the original error (maybe wrapper with [[TemporaryUnAvailableError]]) directly