breaker

package
v0.2.6 Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultIsFailure

func DefaultIsFailure(err error) bool

DefaultIsFailure 默认错误判断函数

func Interceptor

Interceptor 熔断器拦截器

Types

type CircuitBreaker

type CircuitBreaker interface {
	// Execute 执行请求
	Execute(ctx context.Context, run func() error, fallback func(error) error) error
	// State 获取当前状态
	State() State
}

CircuitBreaker 断路器接口

func NewCircuitBreaker

func NewCircuitBreaker(options ...Option) CircuitBreaker

type Option

type Option func(*circuitBreaker)

Option 断路器配置选项

func WithFailureThreshold

func WithFailureThreshold(threshold uint32) Option

WithFailureThreshold 设置故障阈值

func WithHalfOpenRetryInterval

func WithHalfOpenRetryInterval(interval time.Duration) Option

WithHalfOpenRetryInterval 设置半开状态重试间隔

func WithIsFailureFunc

func WithIsFailureFunc(f func(err error) bool) Option

WithIsFailureFunc 设置错误判断函数

func WithSuccessThreshold

func WithSuccessThreshold(threshold uint32) Option

WithSuccessThreshold 设置成功阈值

func WithTimeout

func WithTimeout(timeout time.Duration) Option

WithTimeout 设置超时时间

type State

type State int

State 断路器状态

const (
	StateClosed   State = iota // 关闭状态(允许请求)
	StateHalfOpen              // 半开状态(允许部分请求尝试)
	StateOpen                  // 开启状态(阻止请求)
)

Jump to

Keyboard shortcuts

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