Documentation ¶
Index ¶
- Variables
- type DowmstreamServer
- type LoadBalancer
- func (l *LoadBalancer) ErrorResponse(message string, w http.ResponseWriter, r *http.Request)
- func (l *LoadBalancer) GetDownstreamServer() (*DowmstreamServer, error)
- func (l *LoadBalancer) Handle(w http.ResponseWriter, r *http.Request)
- func (l *LoadBalancer) HealthCheck()
- func (l *LoadBalancer) NewRequest(server *DowmstreamServer, r *http.Request) (*http.Request, error)
- func (l *LoadBalancer) RoundRobin() *DowmstreamServer
- func (l *LoadBalancer) Shutdown()
- type Server
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrNoAvailableServer = errors.New("No available server, try again later")
Functions ¶
This section is empty.
Types ¶
type DowmstreamServer ¶
type DowmstreamServer struct {
// contains filtered or unexported fields
}
func NewDownstreamServer ¶
func NewDownstreamServer(address, endpoint string) *DowmstreamServer
func NewDownstreamServers ¶
func NewDownstreamServers(argServers, healthCheckEndpoint string) []*DowmstreamServer
func (*DowmstreamServer) Healthy ¶
func (d *DowmstreamServer) Healthy()
func (*DowmstreamServer) Unhealthy ¶
func (d *DowmstreamServer) Unhealthy()
type LoadBalancer ¶
type LoadBalancer struct {
// contains filtered or unexported fields
}
func NewLoadBalancer ¶
func NewLoadBalancer(healthCheckTimeout, requestTimeout, healthCheckInterval int, servers []*DowmstreamServer) *LoadBalancer
func (*LoadBalancer) ErrorResponse ¶
func (l *LoadBalancer) ErrorResponse(message string, w http.ResponseWriter, r *http.Request)
func (*LoadBalancer) GetDownstreamServer ¶
func (l *LoadBalancer) GetDownstreamServer() (*DowmstreamServer, error)
func (*LoadBalancer) Handle ¶
func (l *LoadBalancer) Handle(w http.ResponseWriter, r *http.Request)
func (*LoadBalancer) HealthCheck ¶
func (l *LoadBalancer) HealthCheck()
func (*LoadBalancer) NewRequest ¶
func (l *LoadBalancer) NewRequest(server *DowmstreamServer, r *http.Request) (*http.Request, error)
func (*LoadBalancer) RoundRobin ¶
func (l *LoadBalancer) RoundRobin() *DowmstreamServer
func (*LoadBalancer) Shutdown ¶
func (l *LoadBalancer) Shutdown()
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
func NewServer ¶
func NewServer(address string, lb *LoadBalancer) *Server
func (*Server) GracefulShutdown ¶
Click to show internal directories.
Click to hide internal directories.