resilience

package
v0.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 8, 2023 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultRspCachePredicate

func DefaultRspCachePredicate(rsp Rsp, _ map[string]string) bool

func DefaultRspFailedPredicate

func DefaultRspFailedPredicate(rsp Rsp, _ map[string]string) bool

func NewBulkheadPlugin

func NewBulkheadPlugin(name string, config *BulkheadConfig) (bulkhead.Bulkhead, ReverseProxyDecorator)

func NewCachePlugin

func NewCachePlugin(name string, config *CacheConfig) (cache.Cache[Req, Rsp], ReverseProxyDecorator)

func NewCircuitBreakerPlugin

func NewCircuitBreakerPlugin(name string, config *CircuitBreakerConfig) (circuitbreaker.CircuitBreaker, ReverseProxyDecorator)

func NewFallbackPlugin

func NewFallbackPlugin(config *FallbackConfig) ReverseProxyDecorator

func NewRateLimiterPlugin

func NewRateLimiterPlugin(name string, config *RateLimiterConfig) (ratelimiter.RateLimiter, ReverseProxyDecorator)

func NewRetryPlugin

func NewRetryPlugin(name string, config *RetryConfig) (retry.Retry, ReverseProxyDecorator)

func NewTimeLimiterPlugin

func NewTimeLimiterPlugin(name string, config *TimeLimiterConfig) (timelimiter.TimeLimiter, ReverseProxyDecorator)

func RegisterFallbackFunction

func RegisterFallbackFunction(name string, function FallbackFunction) error

func RegisterRspCachePredicate

func RegisterRspCachePredicate(name string, predicate RspCachePredicate) error

func RegisterRspFailedPredicate

func RegisterRspFailedPredicate(name string, predicate RspFailedPredicate) error

Types

type BulkheadConfig

type BulkheadConfig struct {
	Disabled           string
	MaxConcurrentCalls string
	MaxWaitDuration    string
	WhenFullResponse   string
}

type CacheConfig

type CacheConfig struct {
	Enabled                       string
	Capacity                      string
	ItemTTL                       string
	ResponseCachePredicate        string
	ResponseCachePredicateContext map[string]string
}

type CircuitBreakerConfig

type CircuitBreakerConfig struct {
	Disabled                              string
	SlidingWindowType                     string
	SlidingWindowSize                     string
	MinimumNumberOfCalls                  string
	FailureRateThreshold                  string
	SlowCallRateThreshold                 string
	SlowCallDurationThreshold             string
	ResponseFailedPredicate               string
	ResponseFailedPredicateContext        map[string]string
	AutomaticTransitionFromOpenToHalfOpen string
	WaitIntervalInOpenState               string
	PermittedNumberOfCallsInHalfOpenState string
	MaxWaitDurationInHalfOpenState        string
	WhenOverLoadResponse                  string
}

type FallbackConfig

type FallbackConfig struct {
	Enabled                        string
	FallbackResponse               string
	FallbackFunction               string
	FallbackFunctionContext        map[string]string
	ResponseFailedPredicate        string
	ResponseFailedPredicateContext map[string]string
}

type FallbackFunction

type FallbackFunction = func(Req, map[string]string) (Rsp, error)

func GetFallbackFunction

func GetFallbackFunction(name string) FallbackFunction

type RateLimiterConfig

type RateLimiterConfig struct {
	Disabled             string
	TimeoutDuration      string
	LimitRefreshPeriod   string
	LimitForPeriod       string
	WhenOverRateResponse string
}

type RetryConfig

type RetryConfig struct {
	Disabled                       string
	MaxAttempts                    string
	FailAfterMaxAttempts           string
	ResponseFailedPredicate        string
	ResponseFailedPredicateContext map[string]string
	WaitInterval                   string
	WhenMaxRetriesResponse         string
}

type RspCachePredicate

type RspCachePredicate = func(Rsp, map[string]string) bool

func GetRspCachePredicate

func GetRspCachePredicate(name string) RspCachePredicate

type RspFailedPredicate

type RspFailedPredicate = func(Rsp, map[string]string) bool

func GetRspFailedPredicate

func GetRspFailedPredicate(name string) RspFailedPredicate

type TimeLimiterConfig

type TimeLimiterConfig struct {
	Disabled            string
	TimeoutDuration     string
	WhenTimeoutResponse string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL