Distributed Circuit Breaker
class DistributedCircuitBreaker(store: SharedStateStore, key: String, config: CircuitBreakerConfig = CircuitBreakerConfig(), clock: Clock = Clock.System)(source)
Cross-instance circuit breaker whose state lives in a SharedStateStore: when one instance trips the breaker, every instance sharing the store fails fast. Semantics follow CircuitBreaker (Closed → Open → HalfOpen), with CircuitBreakerConfig.halfOpenMaxCalls not enforced across processes.
val breaker = DistributedCircuitBreaker(redisStore, "payments", CircuitBreakerConfig())
breaker.execute { callPayments() }Content copied to clipboard
Constructors
Link copied to clipboard
constructor(store: SharedStateStore, key: String, config: CircuitBreakerConfig = CircuitBreakerConfig(), clock: Clock = Clock.System)