loadbalancer

package
v0.0.0-...-635b2fd Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2023 License: GPL-3.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const HealthCheckInterval = 10 * time.Second

Variables

This section is empty.

Functions

This section is empty.

Types

type Backend

type Backend struct {
	URL         *url.URL
	ActiveConns int32
	Healthy     bool
}

func (*Backend) CheckHealth

func (b *Backend) CheckHealth()

type LoadBalancer

type LoadBalancer interface {
	GetBackend() (*Server, error)
	ReleaseBackend(server *Server)
	AddBackend(server *Server)
	RemoveBackend(serverURL *url.URL)
	GetAllServers() []*Server
}

type Server

type Server struct {
	URL         *url.URL
	ActiveConns int32
	Healthy     bool
}

func (*Server) CheckHealth

func (s *Server) CheckHealth()

type SimpleLoadBalancer

type SimpleLoadBalancer struct {
	Servers []*Server
	// contains filtered or unexported fields
}

func (*SimpleLoadBalancer) AddBackend

func (lb *SimpleLoadBalancer) AddBackend(server *Server)

func (*SimpleLoadBalancer) CheckAllBackendsHealth

func (lb *SimpleLoadBalancer) CheckAllBackendsHealth()

func (*SimpleLoadBalancer) GetAllServers

func (lb *SimpleLoadBalancer) GetAllServers() []*Server

Em loadbalancer.go

func (*SimpleLoadBalancer) GetBackend

func (lb *SimpleLoadBalancer) GetBackend() (*Server, error)

func (*SimpleLoadBalancer) Initialize

func (lb *SimpleLoadBalancer) Initialize()

func (*SimpleLoadBalancer) ReleaseBackend

func (lb *SimpleLoadBalancer) ReleaseBackend(server *Server)

func (*SimpleLoadBalancer) RemoveBackend

func (lb *SimpleLoadBalancer) RemoveBackend(serverURL *url.URL)

func (*SimpleLoadBalancer) StartHealthChecks

func (lb *SimpleLoadBalancer) StartHealthChecks()

Jump to

Keyboard shortcuts

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