healthcheck

package
v2.2.11 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2020 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BackendConfig

type BackendConfig struct {
	Options
	// contains filtered or unexported fields
}

BackendConfig HealthCheck configuration for a backend.

func NewBackendConfig

func NewBackendConfig(options Options, backendName string) *BackendConfig

NewBackendConfig Instantiate a new BackendConfig.

type Balancer added in v2.0.6

type Balancer interface {
	Servers() []*url.URL
	RemoveServer(u *url.URL) error
	UpsertServer(u *url.URL, options ...roundrobin.ServerOption) error
}

Balancer is the set of operations required to manage the list of servers in a load-balancer.

type BalancerHandler

type BalancerHandler interface {
	ServeHTTP(w http.ResponseWriter, req *http.Request)
	Balancer
}

BalancerHandler includes functionality for load-balancing management.

type Balancers added in v2.0.6

type Balancers []Balancer

Balancers is a list of Balancers(s) that implements the Balancer interface.

func (Balancers) RemoveServer added in v2.0.6

func (b Balancers) RemoveServer(u *url.URL) error

RemoveServer removes the given server from all the BalancerHandler, and updates the status of the server to "DOWN".

func (Balancers) Servers added in v2.0.6

func (b Balancers) Servers() []*url.URL

Servers returns the servers url from all the BalancerHandler.

func (Balancers) UpsertServer added in v2.0.6

func (b Balancers) UpsertServer(u *url.URL, options ...roundrobin.ServerOption) error

UpsertServer adds the given server to all the BalancerHandler, and updates the status of the server to "UP".

type HealthCheck

type HealthCheck struct {
	Backends map[string]*BackendConfig
	// contains filtered or unexported fields
}

HealthCheck struct.

func GetHealthCheck

func GetHealthCheck() *HealthCheck

GetHealthCheck returns the health check which is guaranteed to be a singleton.

func (*HealthCheck) SetBackendsConfiguration

func (hc *HealthCheck) SetBackendsConfiguration(parentCtx context.Context, backends map[string]*BackendConfig)

SetBackendsConfiguration set backends configuration.

type LbStatusUpdater

type LbStatusUpdater struct {
	BalancerHandler
	// contains filtered or unexported fields
}

LbStatusUpdater wraps a BalancerHandler and a ServiceInfo, so it can keep track of the status of a server in the ServiceInfo.

func NewLBStatusUpdater

func NewLBStatusUpdater(bh BalancerHandler, info *runtime.ServiceInfo) *LbStatusUpdater

NewLBStatusUpdater returns a new LbStatusUpdater.

func (*LbStatusUpdater) RemoveServer

func (lb *LbStatusUpdater) RemoveServer(u *url.URL) error

RemoveServer removes the given server from the BalancerHandler, and updates the status of the server to "DOWN".

func (*LbStatusUpdater) UpsertServer

func (lb *LbStatusUpdater) UpsertServer(u *url.URL, options ...roundrobin.ServerOption) error

UpsertServer adds the given server to the BalancerHandler, and updates the status of the server to "UP".

type Options

type Options struct {
	Headers         map[string]string
	Hostname        string
	Scheme          string
	Path            string
	Port            int
	FollowRedirects bool
	Transport       http.RoundTripper
	Interval        time.Duration
	Timeout         time.Duration
	LB              Balancer
}

Options are the public health check options.

func (Options) String

func (opt Options) String() string

Jump to

Keyboard shortcuts

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