circuitbreaker

package
Version: v0.12.0 Latest Latest
Warning

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

Go to latest
Published: Sep 18, 2021 License: MIT Imports: 6 Imported by: 148

Documentation

Overview

Package circuitbreaker implements the circuit breaker pattern.

Circuit breakers prevent thundering herds, and improve resiliency against intermittent errors. Every client-side endpoint should be wrapped in a circuit breaker.

We provide several implementations in this package, but if you're looking for guidance, Gobreaker is probably the best place to start. It has a simple and intuitive API, and is well-tested.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Gobreaker

Gobreaker returns an endpoint.Middleware that implements the circuit breaker pattern using the sony/gobreaker package. Only errors returned by the wrapped endpoint count against the circuit breaker's error count.

See http://godoc.org/github.com/sony/gobreaker for more information.

func HandyBreaker

func HandyBreaker(cb breaker.Breaker) endpoint.Middleware

HandyBreaker returns an endpoint.Middleware that implements the circuit breaker pattern using the streadway/handy/breaker package. Only errors returned by the wrapped endpoint count against the circuit breaker's error count.

See http://godoc.org/github.com/streadway/handy/breaker for more information.

func Hystrix

func Hystrix(commandName string) endpoint.Middleware

Hystrix returns an endpoint.Middleware that implements the circuit breaker pattern using the afex/hystrix-go package.

When using this circuit breaker, please configure your commands separately.

See https://godoc.org/github.com/afex/hystrix-go/hystrix for more information.

Types

This section is empty.

Jump to

Keyboard shortcuts

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