Package cambio.simulator.entities.patterns
package cambio.simulator.entities.patterns
Contains implementations of resilience patterns.
-
ClassDescriptionAn examplary implementation of a
StrategicPeriodicServiceOwnedPattern
with a potentially varyingIAutoscalingPolicy
.Manager class of all CircuitBreakers of one Microservice Instance.Contains the three possible states of a CircuitBreaker.This class represents an actual CircuitBreaker with the behavior defined by Hystrix.Strategy that balances the amount of requests evenly between instances.Represents an exponential retry backoff strategy.Event that represents the half-closing of a circuit breaker.Interface for auto scaling policies.Interface for classes that represent the State of a Circuit Breaker.Interface for a load balancing strategy.Represents a resilience pattern that is owned by aMicroserviceInstance
.Can store the configuration of anInstanceOwnedPattern
.Represents all pattern lifecycle hooks.Marks a periodically appearing service owned pattern.Interface that represnts a strategy of aRetry
.Non-Functional interface to mark classes as Strategies for parsing.IStrategyAcceptor<S extends IStrategy>Interface to mark classes as acceptors of anIStrategy
.Represents a jittering exponential retry backoff strategy.Represents a jittering linear retry backoff strategy.Represents a linear retry backoff strategy.Wrapper Class forILoadBalancingStrategy
to encapsulate common behavior around it.Class that takes care of periodically triggeringIPeriodicPattern
objects.A service owned pattern that is automatically triggered periodically.Implements a simple round-robin load balancing strategy.A randomized load balancing strategy.Retry implementation that employs a full jitter based exponential backoff.Implements a simple round-robin load balancing strategy.Resilience Pattern that is owned by aMicroservice
.StrategicInstanceOwnedPattern<S extends IStrategy>Represents aServiceOwnedPattern
that wants to be injected with anIStrategy
object.StrategicPeriodicServiceOwnedPattern<S extends IStrategy>Represents a pattern owned by aMicroservice
that employs aIStrategy
.StrategicServiceOwnedPattern<S extends IStrategy>Represents a pattern owned by aMicroservice
that employs aIStrategy
.This class represents an actual CircuitBreaker with the behavior defined by Hystrix.Strategy that chooses the least utilized Microservice Instance by current relative Queue demand.